Disease management system and method including correlation assessment

ABSTRACT

One aspect of the invention is directed to a system and method for allowing a patient to access an automated process for managing a specified health problem called a disease. The system performs disease management in a fully automated manner, using periodic interactive dialogs with the patient to obtain health state measurements from the patient, to evaluate and assess the progress of the patient&#39;s disease, to review and adjust therapy to optimal levels, and to give the patient medical advice for administering treatment and handling symptom flare-ups and acute episodes of the disease. The medical records are updated, the progression of the disease is stored and tracked, and the patient&#39;s preferences for treatment are stored and then used to offer medical advice based on the current state of the disease. Subjective and objective health measurements are used to determine a metric, which can be used to adjust patient therapy.

RELATED APPLICATIONS

[0001] This application claims the benefit of the filing date of U.S.patent application Ser. No. 60/040,522, filed Mar. 13, 1997, for“Disease Management System” to Iliff, and is a divisional patentapplication of U.S. patent application Ser. No. 09/042,075 filed on Mar.13, 1998.

BACKGROUND OF THE INVENTION

[0002] 1. Field of the Invention

[0003] The present invention generally relates to medical knowledgesystems, and more specifically, to systems for computerized long-termmanagement of patient diseases.

[0004] 2. Description of the Related Technology

[0005] Health is the ground upon which we lead our lives. Medicine iscomposed of diagnosis and treatment. Diagnosis means finding the causeof the patient's problem; treating is the application of the besttherapy available. However, not all diseases can be completely cured bya treatment regime.

[0006] Diseases such as asthma and diabetes may require a regularschedule of treatment, termed therapy, for the duration of a patient'slife. In this case, the disease is managed rather than cured. Diseasemanagement may be defined as managing a patient with a known diagnosiswith the intention of providing patient education and monitoring toprevent symptom flare ups and acute episodes of the disease in order toeliminate costly medical intervention and promote patient well being.The therapy portion of disease management must be custom-tailored to theresponse of a particular patient since diseased patients may responddifferently to the same treatment, e.g., a prescribed dosage andpharmaceuticals.

[0007] Since disease management creates reoccurring expenses to society,there is a tremendous desire to reduce costs. One must understand acapitated healthcare system in the extreme to see why the goal is worthachieving. Advocates of a fully capitated system say that everyone willwin. Taken to the extreme no one will ever get sick, and doctors will bepaid for never seeing patients because there wouldn't be any patients.In a fully capitated system, every person in the world pays apredetermined amount per person per month to health maintenanceorganizations whose sole purpose is to keep you healthy. This is anadmirable goal, but impossible to achieve. However, a realizable goal isto automate the way diseases are managed.

[0008] The entire concept of disease management, carried to the extreme,is to visualize a doctor following a patient around for 24 hours a day.Of course, this is an unobtainable solution for the vast majority of thepopulation. To reduce costs, the doctor's knowledge must be disseminatedto the general public and one approach might be to not require thephysical presence of the doctor at the site of the patient.

[0009] Much of medicine is algorithmic. That is, the diagnosis follows asequence of steps to isolate the cause of the problem. Advanced cardiaclife support (ACLS) and advanced trauma life support (ATLS) have shownhow much care can be improved by setting standards. Some standards maybe translated into medicinal algorithms, which can help set the standardof care for physicians. The concept of telephone medical advice has beenproven by nationwide poison control centers, and physicians,particularly pediatricians, have practiced medicine over the telephonesince it was invented. In fact, the very first words uttered over thetelephone were an appeal for help, for Alexander Graham Bell had justspilled battery acid (for the batteries for the telephone) and said,“Come here, Mr. Watson, I need you” on Mar. 7th of 1876. Today'sso-called telemedicine remains a one-to-one relationship. The phenomenonof telemedicine depends, in part, on best-practice guidelines helpingmake the practice of medicine consistent.

[0010] Disease management is nothing less than the redesign of thepractice of medicine. The problem with medicine was mostly one ofinformation and arrangement of that information. Because of thedevelopment of the personal computer and standards, advances can now bemade in disease management. In the past, doctors have been therepository of medical information and the ones to “arrange” it so thatit had clinical meaning. But these functions can now be performed in anautomated way using the “lever” of telecommunication and computertechnologies.

[0011] Disease management can involve coordinating care for patientsacross the entire health care continuum from birth to death. Diseasemanagement has a program available for every part of everyone's life,including prevention, diagnosis, treatment and rehabilitation. Theprocess involves managing not only the patient with a particulardisease, but also the healthy patient. Too often, providers focuses onproviding intensive and costly services to patients with acute episodesof disease. Disease management advocates seek a greater focus onpreventive, comprehensive care to improve the health of the entirepopulation. In a sense, disease management attempts to take the practiceof medicine out of the hands of physicians and puts it into the hands ofpatients.

[0012] Almost all “knowledge based” clinical reasoning could beperformed better and more reliability by computers. Technology willdrive the democratization of medicine. A system that can automate thepractice of medicine, especially in disease management, and whichencourages and trains patients to play a major beneficial role in theirmedical health care is highly desired. Such a system should give asustainable, substantive, and significant competitive advantage in acapitated health care marketplace. Such a system should be able toautomatically identify very critical points in any disease process sothat intervention is clinically, economically and humanisticallymaximized.

SUMMARY OF THE INVENTION

[0013] In one aspect of the present invention, there is a computerizedmedical correlation assessment method, comprising a) providing asubjective health measurement in an electronic medical recordcorresponding to a particular patient, b) providing an objective healthmeasurement in the electronic medical record, and c) calculating ametric based on the subjective health measurement and the objectivehealth measurement.

[0014] In another aspect of the present invention, there is a system forperforming a computerized medical correlation assessment, the systemcomprising a computer, a storage, in data communication with thecomputer, configured to store an electronic medical record correspondingto a particular patient, and a disease management module executed by thecomputer and configured to access a subjective health measurement in theelectronic medical record, access an objective health measurement in theelectronic medical record, and calculate a metric based on thesubjective health measurement and the objective health measurement.

[0015] In another aspect of the present invention, there is a system forperforming a computerized medical correlation assessment, the systemcomprising a computer; means, in data communication with the computer,for storing an electronic medical record corresponding to a particularpatient; and disease management means, executed by the computer, foraccessing a subjective health measurement in the electronic medicalrecord, accessing an objective health measurement in the electronicmedical record, and calculating a metric based on the subjective healthmeasurement and the objective health measurement.

[0016] In yet another aspect of the present invention, there is acomputer usable medium having computer readable program code embodiedtherein for performing a medical correlation assessment, the computerreadable code comprising instructions for providing a subjective healthmeasurement in an electronic medical record corresponding to aparticular patient, providing an objective health measurement in theelectronic medical record, and generating a metric based on thesubjective health measurement and the objective health measurement.

BRIEF DESCRIPTION OF THE DRAWINGS

[0017]FIG. 1 is a block diagram of an automated medical diagnosis,treatment, disease management and information system of the presentinvention.

[0018]FIG. 2a is a diagram of a configuration of components of thesystem shown in FIG. 1.

[0019]FIG. 2b is a diagram of a configuration of components of theserver computer shown in FIGS. 1 and 2a.

[0020]FIG. 3 is a block diagram of a portion of the processes anddatabase files utilized by the system of FIG. 1.

[0021]FIGS. 4a, 4 b, 4 c and 4 d are a flowchart of the top-levelprocess performed by the system of FIG. 1.

[0022]FIG. 5 is a flowchart of the Disease Management Module processshown in FIG. 4d and performed by the system of FIG. 1.

[0023]FIG. 6 is a flowchart of the Open Session process shown in FIG. 5.

[0024]FIG. 7 is a flowchart of the Health Assessment process shown inFIG. 5.

[0025]FIG. 8 is a flowchart of the Significant Symptom Filter processshown in FIG. 7.

[0026]FIG. 9 is a flowchart of the Severity Assessment function shown inFIG. 8.

[0027]FIG. 10 is a flowchart of the Initial Health Assessment processshown in FIG. 7.

[0028]FIG. 11 is a flowchart of the Current Health Assessment processshown in FIG. 7.

[0029]FIG. 12 is a flowchart of the Correlation Assessment functionshown in FIG. 11.

[0030]FIG. 13 is a flowchart of the Critical Curve Assessment processshown in FIG. 11.

[0031]FIG. 14 is a flowchart of the Therapy Optimization process shownin FIG. 5.

[0032]FIG. 15 is a flowchart of the Therapy Adjustment Based onSubjective Health Data process shown in FIG. 14.

[0033]FIG. 16 is a flowchart of the Therapy Adjustment Based onObjective Health Data process shown in FIG. 14.

[0034]FIG. 17 is a flowchart of the Patient Consent Level fiction shownin FIGS. 15 and 16.

[0035]FIG. 18 is a flowchart of the Close Session process shown in FIG.5.

[0036]FIGS. 19a and 19 b are flowcharts of the Question Versions featureutilized by the Disease Management Module process shown in FIGS. 1 and5.

[0037]FIG. 20 is a flowchart of the Preview Mode feature utilized by theDisease Management Module process shown in FIGS. 1 and 5.

[0038]FIG. 21 is a flowchart of the No-Response feature utilized by theDisease Management Module process shown in FIGS. 1 and 5.

[0039]FIG. 22a is a flowchart of a function utilized by the DiseaseManagement Module process shown in FIGS. 4d and 5 and/or the Diagnosticprocess shown in FIG. 4d in generating a PQRST (pain code) array entryfor a patient.

[0040]FIG. 22b is a flowchart of a function utilized by the Diagnosticprocess shown in FIG. 4d in retrieving a diagnosis using the PQRST (paincode) array entry stored for a patient in FIG. 22a.

[0041]FIG. 23 is a graph of an exemplary critical curve plotting healthmeasurements over time for a particular disease.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

[0042] The following detailed description of the preferred embodimentspresents a description of certain specific embodiments to assist inunderstanding the claims. However, the present invention can be embodiedin a multitude of different ways as defined and covered by the claims.Reference is now made to the drawings wherein like numerals refer tolike parts throughout.

[0043] The detailed description is organized into the followingsections:

[0044] 1. System Overview

[0045] 2. System Processes and Databases

[0046] 3. Top-level System Process Flow

[0047] 4. Disease Management Overview

[0048] 5. Disease Management Module

[0049] 6. Open Session

[0050] 7. Health Assessment

[0051] 8. Significant Symptom Filter

[0052] 9. Severity Assessment

[0053] 10. Initial Health Assessment

[0054] 11. Current Health Assessment

[0055] 12. Correlation Assessment

[0056] 13. Critical Curve Assessment

[0057] 14. Therapy Optimization

[0058] 15. Therapy Adjustment (Subjective)

[0059] 16. Therapy Adjustment (Objective)

[0060] 17. Patient Consent Level

[0061] 18. Close Session

[0062] 19. Question Versions

[0063] 20. Preview Mode Feature

[0064] 21. No-Response Feature

[0065] 22. The PQRST Array

[0066] 23. Disease Management Order (DMO)

[0067] 24. Permissions Database

[0068] 25. Regulatory Permissions

[0069] 26. Sharing Permissions

[0070] 27. Therapeutic Alteration Permission Level (TAPL)

[0071] 28. Meta Structures

[0072] 29. Meta Functions

[0073] 30. Benefits of Disease Management

SYSTEM OVERVIEW

[0074] Referring to FIG. 1, a computerized knowledge-based medicalmanagement system 100 will be described. A disease management module(DMM) 80 and several other high-level service modules 82 performautomated medical services for the users of the medical managementsystem 100. The service modules 82 may include Diagnosis, TreatmentTable, Automated Demand Management, Audio/Visual/Image Library, andAuthor Access. The DMM 80 handles tasks associated with DiseaseManagement (DM); its major goals are to promote patient well-being, toeducate patients, and to reduce costly medical intervention. The usermay be a patient 114 or an assistant for a patient. Throughout thisdocument, the words user and patient are used interchangeably. However,it will be understood that the user may be acting as a proxy for thepatient. If this is the case, the user is registered as an assistant forthe patient. Appropriate registration and login processes, describedhereinbelow, are utilized by the system 100 for either the patient orthe assistant.

[0075] The modules 80 and 82 are supported by an Operating System andsupport software 88, by a number of databases 84, and by a computingenvironment 90 of the embedding computer hardware platform 110. Theentire computer hardware-software-communications complex is operated andmaintained by a support staff. All application tasks of the DMM 80 arefully automated. External contact of the DMM with patients, physicians,clinics, pharmacies, laboratories, and so on (collectively 92) arehandled by automated communications systems using appropriate media andmethods of the computing environment 90, such as interactive voiceresponse (IVR), direct modem-to-modem access, or access via the Internet102. The patient 114 utilizes a computer 116 and monitor 118, atelephone 124, or other components, some of which are described inconjunction with FIG. 2a below, to communicate with the system computerplatform 110.

[0076] Referring to FIG. 2a, a block diagram of one embodiment of themedical management system 100 will be described. The system 100 includesa network “cloud” 102, which may represent a local area network (LAN), awide area network (WAN), the Internet, or another connection service.

[0077] The system programs and databases may reside on a group ofservers 108 that are preferably interconnected by a LAN 106 and agateway 104 to the network 102. Alternatively, the system programs anddatabases may reside on a single server 110 that utilizes networkinterface hardware and software 112. The system servers 108/110 storethe modules 80 and 82 (FIG. 1).

[0078] The network 102 may connect to a user computer 116, for example,by use of a modem or by use of a network interface card. The user 114 atthe computer 116 may utilize a browser 120 to remotely access the systemprograms using a keyboard and/or pointing device and a visual display,such as the monitor 118. Alternatively, the browser 120 is not utilizedwhen the system programs are executed in a local mode on the computer116. A video camera 122 may be optionally connected to the computer 116to provide visual input, such as visual symptoms or signs. Furthermore,clinical sounds could be picked up by the video camera or separatemicrophone (not shown).

[0079] Various other devices may be used to communicate with the systemservers 108/110. If the servers are equipped with voice recognition orDTMF hardware, the user can communicate with the system program by useof the telephone 124. A telephonic embodiment is described inApplicant's application entitled “Computerized Medical Diagnostic andTreatment Advice System,” U.S. application Ser. No. 08/176,041, filedDec. 29, 1993, which has issued as U.S. Pat. No. 5,660,176, and ishereby incorporated by reference. Other connection devices forcommunicating with the system servers 108/110 include a portablepersonal computer with a modem or wireless connection interface, a cableinterface device 128 connected to a visual display 130, or a satellitedish 132 connected to a satellite receiver 134 and a television 136.Other ways of allowing communication between the user 114 and the systemservers 108/110 are envisioned.

[0080] Referring to FIG. 2b, a diagram of one embodiment of a servercomputer 110 shows several possible interconnections to the network. To“play” a script, a special program called a Script Engine is used, whichreads a medical diagnostic script file and uses its codes to performinterview actions, such as outputting a question to a patient andinputting an answer. The scripts may also collect the answers from thepatient, evaluate the answers, issue a diagnosis, and update thepatient's medical record. The script engine may also reside in the usercomputer 116 (FIG. 2a). The script engine may be stored on the harddrive or a CD-ROM, and is loaded into the main memory or a cache forexecution.

[0081] The components of a presently preferred server computer 110 ofthe computerized medical system 100 of the present invention, are shownin FIG. 2b. The server computer 110 includes a plurality of componentswithin an enclosure. A telephone line 156 interfaces the publictelephone network 158 to the computer 110 via a modem 160. The telephonenetwork 158 may connect to the network 102, which has connections withthe system server(s) 108/110. Alternatively, the computer 110 mayconnect to the network 102 by use of a network interface card 164.

[0082] The hardware and system software are assembled with two basicconcepts in mind: portability to other operating systems and the use ofindustry standard components. In this way, the system can be moreflexible and will allow free market competition to continually improvethe product, while, at the same time, decreasing costs. While specifichardware and software may be referenced, it will be understood that apanoply of different components could be used in the present system.

[0083] The computer 110 preferably is a personal computer with an IntelPentium microprocessor 170. Other computers, such as an Apple Macintosh,an Amiga, a Digital Equipment Corporation VAX, or an IBM mainframe,could also be utilized. The modem 160 or the network interface card 164connects to an industry standard architecture (ISA) or a peripheralcomponent interconnect (PCI) bus 162. The bus 162 interconnects themicroprocessor 170 with a plurality of peripherals through controllercircuits (chips or boards).

[0084] The computer bus 162 has a plurality of peripherals connected toit through adapters or controllers. A video adapter board 172,preferably at SVGA or better resolution, interconnects to a videomonitor 118. A serial communication circuit 176 interfaces with apointing device, such as a mouse 178. A parallel communication circuitmay be used in place of circuit 176 in another embodiment. A keyboardcontroller circuit 180 interfaces with a keyboard 182. A 500 Mb orgreater hard disk drive 184 and an optional CD-ROM drive 186 arepreferably attached to the bus 162. The hard disk 184 stores databasefiles such as the patient files, DM files, other system files, andbinary support files. The CD-ROM drive 186 also stores database filesand binary support files.

[0085] A main memory 190 connects to the microprocessor 170. In oneembodiment, the computer 110 may operates under the Windows 95 operatingsystem 192. The memory 190 executes a diagnostic script engine (notshown) and a disease management module (DMM) process 220. Portions ofthe disease management module process software may be written in BorlandDelphi Pascal, version II, and other portions may be written inMicrosoft ‘C’, version 7.0. Furthermore, in one embodiment, the databaseis implemented with Microsoft Foxpro or another database program such asa SQL-compatible relational database program.

SYSTEM PROCESSES AND DATABASES

[0086] Referring to FIG. 3, a portion of the processes, files, anddatabases utilized by the medical management system 100 will bedescribed. Except for the DMM process, a Permissions database, anImaging Modality database, a Laboratory Test database, a Diseasesdatabase, and other DM specific databases which are describedhereinbelow, these processes, files, and databases were described inApplicant's patent entitled “Computerized Medical Diagnostic andTreatment Advice System,” U.S. Pat. No. 5,660,176.

[0087] The medical management system 100 utilizes several principalprocesses and related databases. A set of patient/assistant loginprocesses 200, 210 and 212 is used by the system 100 to identify apatient who has previously registered into the system in one of threeways: 1) by prompting for a patient identification number (PIN) inprocess 200; 2) identify an assistant who has previously registered intothe system by prompting for an assistant identification number (AIN) inprocess 210; or 3) identify a patient, having an assistant, who haspreviously registered into the system by prompting for the patientidentification number in process 212. One of a set of processes 202, 214or 216 is used to register a patient or assistant. If the user is thepatient, a patient registration process is used by the system toregister new or first-time patients in process 200. If the user is notthe patient, an assistant registration process is used by the system toregister new or first-time assistants in process 214. Then, if thepatient is not already registered, an assisted patient registrationprocess is used by the system to register the patient in process 216.

[0088] Once a user has logged in or registered, the system provides achoice of processes. The primary process of concern in the currentembodiment is the DMM process 220 that manages a disease or condition ofthe patient. The DMM process 220 may access the laboratory test ofchoice database 260 or imaging modality of choice database 258 in thecourse of disease management and a treatment table 250 to obtain currenttreatment information for a particular disease or diagnosis. Associatedwith these processes are a patient and assistant enrollment database240, a consultation history database 242, a patient response database244, a medical history objects database 246, a patient medicationdatabase 248, a pending database 252, and a patient medical historydatabase 254. These databases include an electronic medical record foreach patient that is registered with the medical system 100. Theelectronic medical record contains all the information about eachpatient. A permissions database 256, a diseases database 262 and otherDM specific databases 264 will be described hereinbelow. In anotherembodiment, other choices are added to access other medical informationprocesses.

TOP-LEVEL SYSTEM PROCESS FLOW

[0089] Referring to FIGS. 4a, 4 b, 4 c and 4 d, the top level flow 300of the medical management system software will be described. A telephonenumber used to access the system 100 via the telephone may vary invarious embodiments of the system. If the sponsoring agency or hospitalwishes to provide access to the medical management system 100 at no costto the caller, then a toll-free ( e.g., 800, 888 or other number)service number can be used. If the sponsoring agency or hospital wishesto recover the costs of running the system 100 from the caller, it mayuse a pay-per-call or premium charge number (e.g., 900 service).“Current Procedural Terminology” (CPT-4) codes are available to describeand bill third party payers for telephone consultations. They are alisting of the descriptive terms and identifying codes for reportingmedical services and procedures. CPT-4 codes are the most widelyaccepted nomenclature for reporting physician services to insurancecompanies. If access is provided to the system 100 via the Internet orother network, an appropriate web address (or addresses) is provided tothe user.

[0090] Beginning at a start state 302, the user 114 (FIG. 1) desiringmedical advice dials the telephone number for the system 100 on thetelephone 124 (FIG. 2a). The user may be the patient or may be an“assistant”, e.g., parent, relative, or friend, that is helping thepatient. Alternatively, the user may access the system 100 though theuser computer 116, such as through the Internet as previously described.Moving to state 304, the system 100 answers the call automatically andgreets the caller 114 with an introductory greeting message by playingback a speech file stored on the system hard drive by use of a voiceprocessing board, such as a D/41D available from Dialogic.Alternatively, if the user is using the browser 120 (FIG. 2a) or otheruser interface on the Internet 102, a greeting message is displayed tothe user on the visual display 118. Thus the system 100 communicateswith the user 114 either by the telephone or by messages displayed onthe visual display. Subsequent steps in the process or functionflowcharts will only describe one form of user communication for brevitypurposes.

[0091] Proceeding at state 306, the system 100 asks each patient whocalls the system a series of “initial screening questions.” Thesequestions are designed to identify patients who are critically ill; theyare not designed to identify the patient's problem. The initialscreening questions enable the system to filter out patients who requireimmediate medical attention.

[0092] Moving to decision state 308, any patient found to be criticallyill is instructed to dial the emergency response telephone number “911”at state 309 or will be automatically connected to the nearest emergencymedical services system in the patient's area. The session is terminatedby process 300 at state 310. The following are examples of initialscreening questions:

[0093] ? IS THIS A MEDICAL EMERGENCY?

[0094] ? ARE YOU HAVING DIFFICULTY BREATHING?

[0095] ? ARE YOU EXPERIENCING SEVERE PAIN OR PRESSURE IN YOUR CHEST?

[0096] If the system determines that the patient is experiencing amedical emergency, it may provide the patient with a menu of emergencymedical procedures at state 311. In situations where the patient or thecaller for the patient is far from the nearest emergency help, e.g., arural setting, the user may need to initiate emergency proceduresimmediately. The menu of emergency medical procedures provides severalchoices to the user. If the user presses touch tone key “1” or speaksthe word “one” into the telephone mouthpiece, process 300 branches tostate 312 wherein well known CPR (cardiopulmonary resuscitation)information is recited. If the user has a speakerphone capabilityassociated with the telephone 124 being used, the user may be able tolisten to and perform the instructions given by the system 100 in ahands-free manner away from the telephone. If the caller presses touchtone key “2” or speaks the word “two” into the telephone mouthpiece,process 300 branches to state 313 wherein well known Heimlich Huginformation for choking is recited. At the completion of either state312 or state 313, the session ends at state 314.

[0097] If the patient is determined at state 308 not to have a medicalemergency, i.e., the system 100 is satisfied that no immediately lifethreatening condition is present, process 300 moves to a decision state315 to determine if the user is the actual patient. If so, process 300proceeds to a decision state 316 to determine if the patient haspreviously registered or ever consulted with the system 100, i.e., isnot a new or first-time caller. If so, the system 100 verifies thepatient's identification and retrieves their medical record at thepatient login process 200. At the completion of process 200, process 300proceeds through off-page connector C 317 to state 344 (FIG. 4d). If thepatient is not registered, as determined at decision state 316, thesystem 100 proceeds to the patient registration process 202 for a newpatient. At the completion of process 202, process 300 proceeds throughoff-page connector C 317 to state 344 on FIG. 4d.

[0098] If the user is not the patient, as determined at state 315,process 300 proceeds through off-page connector A 318 to a decisionstate 320 on FIG. 4b. There will be times when the patient may not beable to use the system 100 directly, e.g., due to injury, weakness oraltered level of consciousness. In these cases, an “assistant” mayinteract with the system on behalf of the patient.

[0099] An assistant registers with the system through the assistantregistration process 214. The assistant registration record is identicalto the patient registration record in structure, but three fields havespecial significance for an assistant: ASST_PERM, ASST_EXP, andRELATIONS. The ASST_PERM field is a Boolean flag that can only be settrue off-line by the system administrator who has verified, throughseparate means, that a relationship exists between a patient and anassistant. The relationships are one-to-many, i.e., a patient may haveone or more assistants, and an assistant may be related to more than onepatient. The ASST_PERM flag may also be constrained by the ASST_EXPfield, which contains a timestamp for the expiration of the ASST_PERMattribute. If the ASST_PERM flag is true, then the RELATIONS pointerswill point to one or more patient records for whom this assistant is a“permanent assistant;” otherwise the RELATIONS field will be empty.

[0100] The medical information gathered during an assisted consultationis written to the patient's medical record if the following threeconditions are met:

[0101] (a) the assistant's ASST_PERM flag is True

[0102] (b) the ASST_EXP timestamp has not been reached

[0103] (c) the assistant has a relationship pointer to the patientrecord

[0104] If any of these conditions are not met, then any new medicalinformation gathered on this patient will be saved to the Pending file252 (FIG. 3) for off-line verification by the system administrator.

[0105] The system 100 establishes at state 315 whether the user is thepatient, or an assistant. If the user is not the patient, then thesystem asserts that the user is an assistant and, at decision state 320,determines if the assistant is registered. If the assistant is notalready registered with the system, the system enrolls the new assistantat the assistant registration process 214. If the assistant is alreadyregistered with the system 100, process 300 performs the assistant loginprocess 210. At the completion of either process 214 or process 210,process 300 advances to a decision state 321.

[0106] If the patient is not already registered with the system 100, asdetermined at decision state 321, then the system allows the assistantto register a new patient at the assisted patient registration process216. However, if the patient is already registered with the system 100,as determined at state 321, process 300 performs the assisted patientlogin process 212. At the completion of process 216 or process 212,process 300 proceeds through off-page connector B 327 to a decisionstate 334 on FIG. 4c.

[0107] At decision state 334, process 300 determines if the patient'sdate of birth is in the patient's medical record. If so, process 300proceeds through off-page connector C 317 to state 344 on FIG. 4d. Ifnot, the system 100 attempts to get the patient's date of birth. Movingto state 335, the system 100 asks the assistant if the patient's date ofbirth is known. If so, process 300 advances to state 336 to request thepatient's date of birth. At state 337, the system 100 recites thepatient's date of birth obtained at state 336. At a decision state 338,the assistant determines if the date of birth is correct as recited bythe system 100. If not, process 300 loops back to state 336 to requestthe patient's date of birth again. If the patient's date of birth iscorrect, as determined at state 338, process 300 flags the date of birthfor saving in the patient's medical record at state 339, and proceeds tostate 344 on FIG. 4d.

[0108] If the patient's date of birth is not known, as determined atstate 335, process 300 proceeds to state 340 wherein the system requeststhe assistant to provide an approximate age of the patient. The age isan important parameter used by the DMM process 220, the diagnosticmodule and the treatment table 250. At state 341, the system 100 recitesthe patient's approximate age obtained at state 340. At a decision state342, the assistant determines if the age is correct as recited by thesystem 100. If not, process 300 loops back to state 340 to request thepatient's approximate age again. If the patient's approximate age iscorrect, as determined at state 342, the system 100 advises theassistant at state 343 to get the patient's actual date of birth beforethe next consultation, and proceeds to state 344 on FIG. 4d. The system100 uses the approximate age in the session during the diagnostic moduleand the treatment table 250.

[0109] At state 344 on FIG. 4d, the system 100 presents the user with asystem selection menu. Here, the caller is asked to select from amongsix choices: diagnostic system, treatment table, disease management,audio/visual/image library, automated demand management, or end sessionas described below:

[0110] A. Diagnostic System: The system starts an evaluation process 280at a menu, where it asks the patient to begin identification of thecomplaint.

[0111] B. Treatment Table: The system takes the patient to the treatmenttable process 250 at a menu, where it asks the patient to select atreatment selection method.

[0112] C. Disease Management: The system starts the DMM process 220where it first determines if the patient has previously used the DiseaseManagement Module. This process is described in detail below.

[0113] D. Audio/Visual/Image Library: The system starts aAudio/Visual/Image Library process 282 which lets a patient hear medicalsounds, see medical videos, or see medical photographs or other images.

[0114] E. Automated Demand Management: The system starts an AutomatedDemand Management process 284 to help the patient determine if aphysician should be seen, and if so, who should be seen and when theyshould be visited.

[0115] F. End Session: The system performs several steps and thenterminates the session.

[0116] At the exit point of the evaluation process 280, the system 100gives the patient the option of selecting another complaint. At the endof the treatment table process 250, the system gives the patient theoption of selecting another treatment. At the end of theaudio/visual/image library process 282, the system 100 gives the patientthe option of selecting another audio clip, video, or image. At the endof the automated demand process 284, the system 100 gives the patientthe option of receiving advice for another problem.

[0117] At the completion of the evaluation process 280, the treatmenttable process 250, the disease management module process 220, theaudio/visual/image library process 282, or the automated demandmanagement process 284, the system 100 loops back to state 344 and againprovides the system selection menu for the user. If the user chooses theEnd Session selection at state 344, the system 100 moves to a decisionstate 345. At decision state 345, the system 100 determines if process280, process 250, process 220, or process 284 did not occur inInformation mode, i.e., did occur in either Real mode or Pending Mode,and examines a symbol table associated for the current patient todetermine if any of the configured memory variables are past medicalhistory conditions that need to be saved to the patient's medicalhistory file. If both conditions are true at state 345, the system 100advances to a decision state 346 to determine if the consultation isbeing performed in Real mode. If not, the consultation is beingperformed in Pending mode, and the system 100 then writes any newpatient information obtained during the consultation to the Pending file252 at state 347.

[0118] If decision state 346 proves to be true, i.e., Real mode, foreach past medical condition that needs to be saved, the system 100 asksthe patient at state 348 to grant permission to save the datum to thepatient's medical history file and to confirm that the datum is correct.For example, during a consultation for cough, the system 100 may havelearned that the patient has been diagnosed as being HIV positive. Thesystem 100 will ask, “May I record the information about your HIVdiagnosis in your medical record?” If the patient responds “yes”, thenthe system 100 will ask, “Please verify that your diagnosis for HIV waspositive, is this correct?” If the patient responds “yes”, then thesystem 100 writes the diagnosis, and a score indicative of systemaccuracy to the patient's medical history file. After confirmation, eachdata item is stored in the patient's file in the patient medical historydatabase 254 (FIG. 3).

[0119] At the completion of either updating the patient medical historydatabase 254 at state 348, or state 345 proves to be false, or at thecompletion of state 347, the process 300 moves to a decision state 349.Before the system 100 ends the consultation with the patient, itpresents a summary of all the advice it has given. In a telephonicsession, the patient is asked to write down and repeat back the keypoints. The system 100 then gives the patient the option of receiving asummary of the consultation session and specific recommendationsprovided by the system via facsimile, electronic mail (E-mail) or a mailservice, such as first-class mail. If a fax or E-mail is desired,process 300 moves to a decision state 350 to determine if information tosend the summary and recommendations is available in the system. If not,process 300 asks the patient for the information, e.g., a fax number,E-mail address or mail address, at state 352. The patient also has theoption to send a summary of the consultation to his or her health careprovider or specialist. Proceeding to state 351, process 300 adds thetranscript of the current telephone session to a fax queue or an E-mailqueue, as desired, for subsequent transmission. At the completion ofstate 351 or if process 300 determined at state 349 that the sessiontranscript was not to be sent, the session is terminated at state 353.

DISEASE MANAGEMENT OVERVIEW

[0120] The present invention includes a computer program called aDisease Management Module (DMM). The disease management module is one ofseveral high-level service modules that perform automated medicalservices for the users of the medical management system 100. In thiscontext, disease management (DM) means the continuing medical care of apatient who has been diagnosed with a specified health problem called adisease. The DDM may continue care throughout a patient's lifetime. TheDMM performs disease management in a fully automated manner, usingperiodic interactive dialogs with the patient to obtain health statemeasurements from the patient, to evaluate and assess the progress ofthe patient's disease, to review and adjust therapy to optimal levels,and to give the patient medical advice for administering treatment andhandling symptom flare-ups and acute episodes of the disease. The goalof the disease management module is to promote patient health in anautomated manner that reduces costly medical intervention.

[0121] Various features of the DMM software are specifically designed toaccumulate and use patient-specific information, so that diseasemanagement can be tailored more to each individual case. As the modulemanages a given patient over time, it builds a profile of the case, inthe form of the frequency and reasons for the patient's contacts withthe DMM, the patient's subjective understanding of the disease, thepatient's objective response to various medical treatments, and thepatient's preferences in treatment. The module then uses that knowledgeto adjust its internal procedures, so that they adapt more to thespecific patient.

[0122] When a patient is first admitted to DM, the DMM runs aregistration procedure that verifies the patient's medical history,initializes the initial therapy for the patient's disease, and sets up aschedule for patient contacts. For every registered DM patient, the DMMconducts periodic automated sessions with the patient. During eachsession, the DMM obtains and updates the patient's medical history withthe latest health measurements, analyzes and assesses patient health asneeded, adjusts therapy as needed, and gives the patient appropriatemedical advice. At the end of each session, the DMM schedules the nextsession. Ultimately, the DMM discharges patients by moving them from thedisease management state to another state such as to the medical care ofa human physician, to the care of the diagnostic module of the medicalsystem, or to a normal health state with the appropriate follow-uphealth checkups.

[0123] The DMM module is now summarized here in terms of its overallfeatures, so as to put the features into the overall context. Eachfeature will be further described hereinbelow.

[0124] In all of its contacts with patients, the DMM must insure that itcomplies with a large number of permissions, consents, andauthorizations granted by various agents and agencies. The DMM uses thePermissions database to manage these control data.

[0125] To conduct online interactive dialogs with patients (or theiragents), the DMM uses scripts. Scripts are special computer programscapable of outputting text and questions to a patient, waiting for aresponse from the patient, recording the response, and taking furtheraction based on the response. The development and use of scripts hasbeen described in U.S. application Ser. No. 08/893,402, filed Jul. 11,1997, issued as U.S. Pat. No. 5,935,060, entitled “Computerized MedicalDiagnostic and Treatment Advice System including List Based Processing”,and in U.S. application Ser. No. 08/893,912, filed Jul. 11, 1997, issuedas U.S. Pat. No. 6,022,315, entitled “Computerized Medical Diagnosticand Treatment Advice System including Network Access”, both of which arehereby incorporated by reference.

[0126] A normal online dialog with a patient takes the general form of asequence of questions asked by a script, and answers provided by thepatient. As the script runs, it considers the patient's current status,selects a question, and presents the question to the patient. Thepatient responds, the script analyzes the response, selects anotherquestion, and so on until the session is normally terminated.

[0127] A script Preview Mode for the DMM allows the patient to answer aquestion in a “look ahead” mode, to see what the consequences of a givenresponse would be, without formally selecting the response. Abnormalscript terminations can be handled by the DMM in an intelligent,proactive manner using a No-Response function. If a patient suddenlyfails to respond in the middle of a dialog, this function can use allthat is known about the patient, the patient's location, and the diseasebeing managed to respond proactively, including—if necessary—the abilityto contact the patient's nearest emergency assistance facility or tocall 911 for the patient.

[0128] The DMM performs all of its contact with patients in the form ofDisease Management sessions, which are regularly scheduled, onlinedialogs with the patient. A DM session can be initiated by either thepatient calling the medical system (inbound), or by the system callingthe patient (outbound). Every DM session consists of four major tasksperformed in the following sequence: Open Session, Health Assessment,Therapy Optimization, and Close Session.

[0129] The Open Session task initializes data and registers patients.The task uses the patient's health history and the disease being managedto establish the assessment health parameters that are to be measuredand tracked, including relevant thresholds, limits, ranges, and criticalvalues. It also gives patients instructions on how to observe symptoms,perform health measurements, assess their health, and prospectivelytrend their disease.

[0130] The Health Assessment task obtains health measurements from thepatient for the interval since the last session, encodes symptomdescriptions using a PQRST Array, and calculates various relevant healthcounts, patterns, and trends. It analyzes health state using aCorrelation Assessment function and a Critical Curve Assessmentfunction. The Correlation Assessment function uses aSubjective-Objective Correlation Factor (SOCF), a statistical measure ofhow well a given patient can assess his/her own disease state andprogress, to assess the patient's health based on subjective data. ThePQRST Array is an encoding scheme used to convert subjectivedescriptions of pain symptoms into a DMM-wide digitized pain code. TheCritical Curve is a time-plot of specified health parameters that theDMM can compare to standard critical curves to detect or predict rapiddeterioration of patient health.

[0131] Finally, the Health Assessment task decides what action to takefor the patient, such as referring the patient out of the system, toseek human medical attention; or referring the patient to the diagnosticmodule process for diagnosis of a new symptom; or proceeding to the nexttask to determine the next therapy step for the patient.

[0132] The third task of the DM session is Therapy Optimization, whoseexpress goal is to adjust therapy step by step in a manner that balancesthe risks and benefits, maximizes efficacy and minimizes adverse sideeffects, and converges to an optimum therapy for this patient over thelong term. The task selects one of several possible therapies from atreatment table, adjusts dosages in small steps as controlled by aPatient Consent Level function, presents the risks and benefits to thepatient, and lets the patient accept or reject the recommendation. Ifthe patient rejects, the task computes the next best therapy, and thenext, until it reaches a limit that is stored in the Permissionsdatabase. In all of its work, the task consults a Therapeutic AlterationPermission Level (TAPL) to determine how much authority it has to modifytherapy automatically. If the task has too little authority to recommenda therapy, or if the patient rejects all therapy suggestions, the taskrefers the patient to a human physician.

[0133] The final task of the DM session, Close Session, stores all ofthe assessment measurements, parameters, and decision factors in thepatient's medical history database. The task also processes the therapychanges that the patient accepted, issues relevant instructions to thepatient, and finally reschedules the patient for the next session. Thenthe task initiates processes to output various session logs and reportsrequested during the session, and finally, the DMM saves the relevantdata and terminates the current DM session. The DMM is now done withthis patient until the next session repeats the process.

DISEASE MANAGEMENT MODULE

[0134] Referring to FIG. 5, the process 220 will be described. Process220 comprises the executable portion of the Disease Management Module(DMM), which conducts an on-line, interactive dialog with a patient forthe purpose of managing a known disease of the patient. Process 220consists of four processes 404, 406, 408, and 410. A DM session startswhen control is passed to program 220 at the start node 402. From thestart node 402, process 220 invokes process 404, which performsinitialization, file opening, and registration functions as described inconjunction with FIG. 6 below. When process 404 returns control toprocess 220, process 220 next invokes process 406, which inputs healthmeasurements from the patient, analyzes them, and assesses the patient'scurrent health state. When process 406 returns control to process 220,process 220 next invokes process 408, which computes an optimum nexttherapy step that is accepted by the patient. When process 408 returnscontrol to process 220, process 220 next invokes process 410, whichoutputs various reports, saves session data, and closes working files.When process 410 returns control to process 220, process 220 passescontrol to step 412. Step 412 returns control to the process thatinvoked process 220 at node 402.

OPEN SESSION

[0135] Referring to FIG. 6, the process 404 will be described. Process404 establishes the data needed to conduct a DM session. It registerspatients that are new to the DMM and loads existing data for patientsthat have previously conducted DM sessions. Finally, process 404 createsa Disease Management Order(DMO) record, in which the cumulativedecisions made by the DMM during this DM session are stored. The DMO isfurther described in section Disease Management Order. Process 404receives control at the start node 430. Next, process 220 passes controlto decision 432, which looks up the patient's identification in the DMregister to see whether the patient is a registered, i.e. has conductedprevious DM sessions. If the patient is not registered, process 404passes control to step 434, otherwise to step 452, which will bedescribed later in this section.

[0136] Step 434 is the first of seven successive steps 434, 436, 438,440, 442, 444, 446 that register a patient for Disease Management. Step434 outputs messages to greet and inform the patient that she is aboutto begin registration for DM. Next, step 436 inputs the name of thedisease to be managed. Next, step 438 interviews the patient to inputdata required to conduct Disease Management, including the name of arepresentative that can speak for the patient, the name and location ofthe patient's physician, names and telephones emergency facilities nearthe patient, and so on. Next, step 440 creates a record for the newpatient in the DM registry. Next, step 442 establishes the patient as aregistered DM patient. Next, step 444 creates a new data record for useby the DMM in the patient's database. Next, step 446 creates a new datarecord for session data in the session database. Step 446 completes theregistration of the patient as a new DM patient. After step 446, controlgoes to step 448, which creates a new creates a Disease Management Order(DMO) record, in which the cumulative decisions made by the DMM duringthis DM session are stored. Step 448 initializes the DMO to indicatethat this patient is a newly registered DM patient and needs an initialhealth assessment. After step 448, process 404 passes control to step450, which returns control to the process that called process 404.

[0137] Continuing now to describe process 404 at step 452. Step 452retrieves the patient's medical record from the patient database. Afterstep 452, control passes to step 454, which loads the last DM sessiondata for this patient from the session database. After step 454, controlpasses to step 456, which confirms that the last session terminatednormally and sets appropriate control data if it did not. After step456, control passes to step 458, which initializes the DMO to indicatethat this patient needs a current health assessment in subsequentprocessing. After step 458, control passes to step 450, which returnscontrol to the process that called process 404.

HEALTH ASSESSMENT

[0138] Referring to FIG. 7, the process 406 will be described. Process406 performs the health assessment for the DM session. It is basically astaging process that invokes other processes that perform healthassessment of the patient. Process 406 receives control at start node480. After node 480, process 406 invokes process 482, which is named theSignificant Symptom Filter and will be described below in conjunctionwith FIG. 8. When process 482 returns control, process 406 passescontrol to the test 484, which tests the DMO record code to determinewhether this patient is a new DM registrant or a returning DM patient.For new patients, process 406 invokes node 488, which assesses thehealth of newly registered patients and will be described below inconjunction with FIG. 10. For current patients, process 406 invokes node490, which performs the health assessment for returning DM patients andwill be described below in conjunction with FIG. 11. After healthassessment for new or returning patients is completed, process 406returns control at node 492.

SIGNIFICANT SYMPTOM FILTER

[0139] Referring to FIG. 8, the process 482 will be described. Process482 applies several tests to the patients current symptoms to classifythe patient's current health state, decide on specific assessment needsand their reasons, and forward this assessment to subsequent DMprocesses. These needs are saved in the patient's DMO, which is thenprocessed by subsequent DMM routines. The DMO record is described laterin section Disease Management Order.

[0140] Process 482 receives control at start node 510. From there, itpasses control to test node 512, which represents the first filter byasking the patient whether she is having any significant symptoms atpresent. If the patient is not having significant symptoms, she can beassessed by automated means, and therefore process 482 passes control tostep 544. Step 544 which sets the DMO record code to indicate that thispatient's health needs to be further assessed by subsequent routines.The control returns via node 526.

[0141] If, at node 512, the patient is currently having significantsymptoms, then process 482 needs to determine whether or not the patienthas a symptom related to the disease being managed. To do this, process482 passes control first to step 514, which inputs the symptom from thepatient and looks it up in a table of related symptoms, and next to test516, which branches to node 520 if the symptom is related to the diseasebeing managed, and branches to node 530 otherwise. This completes thesecond filter, which has now identified patients with and withoutsignificant related symptoms.

[0142] If, at node 516, the patient does have a related symptom, process482 invokes the Severity Assessment function 520 to further classify therelated symptom as mild or severe. For patients with severe relatedsymptoms, process 482 passes control to step 522, which sets the DMOrecord to indicate the findings so far. From step 522, control returnsvia node 526. But if at test 520, the symptom is judged to be mild, thenprocess 482 passes control to node 524, which sets the DMO record toindicate need for normal health assessment. From node 524, process 482returns control via node 526.

[0143] If, at node 516, the patient does not have a related symptom,process 482 needs to determine whether or not the patient has a sideeffect related to the current therapy of the patient. To do this,process 482 passes control first to step 530, which looks up thepatient's symptom in a table of side effects of the current therapy.Process 482 next passes control to test 532, which is a filter thatdetermines side effect symptoms. If the patient's symptom is a sideeffect, process 482 invokes the Severity Assessment function 520 toclassify the side effect as mild or severe. For mild side effects,process 482 passes control to node 536, which sets the DMO record to beassessed by subsequent processing. For severe side effects, process 482passes control first to step 534, which marks the DMO record to referthe patient out of the system to a human physician, and then returns tothe calling process via node 526.

[0144] If, at test 532, the patient's symptom is not a side effect, thesymptom is a significant symptom unrelated to either the disease beingmanaged or to the therapy being applied. Process 482 invokes theSeverity Assessment function 520 to classify the symptom as mild orsevere. For mild symptoms, process 482 passes control to node 542, whichsets the DMO record flag to force a special discussion with the patientafter all DM processing is performed, and notes the reasons for thediscussion. Then process 482 passes control first to node 544 which setsthe DMO record to force subsequent health assessment and next to node526, which returns to the process that called process 482. For severeunrelated symptoms, process 482 passes control first to step 540, whichmarks the DMO record to refer the patient out of the system to a humanphysician, and then returns to the calling process via node 526.

SEVERITY ASSESSMENT

[0145] Referring to FIG. 9, the Severity Assessment function 520 will bedescribed. This function uses a number of criteria to decide whether agiven symptom is to be considered mild or severe for the DM assessmentpurposes. Function 520 receives control at start node 560, where itbegins a sequence of 6 consecutive steps and then returns the computedresult. First, function 520 passes control to node 562, which asks thepatient to rank the symptom's severity on a scale of 0 to 10. Next,function 520 passes control to node 564, which obtains the absoluteseverity scale of the symptom itself from the symptoms database.Different symptoms have different severity scales, and the patient'sranking is now matched to that of the symptom. Therefor, next, function520 passes control to node 566, which normalizes the patient's ranking,so that it is expressed in terms of the symptom's severity scale. Next,function 520 passes control to node 568, which uses the SensitivityFactor Set to adjust the normalized severity ranking up or down,depending on the current sensitivity setting of the DMM. Thus, thehigher the Sensitivity, the more conservative the system is in itsassessments. At the lowest Sensitivity setting, all symptoms severityratings will be considered mild. Next, function 520 passes control tonode 570, which converts the final adjusted ranking into 2classifications, mild or severe. It is important to note that this finalstep can, in other contexts, classify the final ranking into any numberof gradations; but for the current assessment purpose, the symptom mustbe classified as mild or severe. Next, function 520 passes control tonode 572, which returns a code for either “mild” or “severe” to thecalling process.

INITIAL HEALTH ASSESSMENT

[0146] Referring to FIG. 10, the process 488 will be described. Thisprocess performs a health assessment for patients who are having theirfirst Disease Management session. Process 488 receives control at node600. Process 488 then passes control to node 602, which loads the healthassessment specifications for the disease being managed from the diseasedatabase. These specifications include various parameters to be used inDisease Management sessions, such as patient instructions, choices oftherapies, permissions required, and so on. After these values areobtained, process 488 passes control to node 604, which initializes a DMsession segment in the patient's medical history and the sessionsdatabase. Then, process 488 passes control to node 606, which conductsan initial health interview to ask the patient for a subjectiveassessment of current health, for any objective health measurements thepatient may have available, any pre-existing therapy or side effects,and so on. Then process 488 passes control to node 608, which returnscontrol to the calling process.

CURRENT HEALTH ASSESSMENT

[0147] Referring to FIG. 11, the process 490 will be described. Thisprocess obtains current health data from the patient in three forms:subjective (i.e. as perceived or felt by the patient), objective (i.e.as measured by the patient, typically with an instrument), and sideeffects noted by the patient. These health measurements are then used toanalyze the current health state. Process 490 receives control at node620. From node 620, process 490 passes control to test 622, whichexamines the current DMO record of the patient to determine whatprocessing has been done and what needs to be done. If the DMO recordcode does not indicate that a health assessment is required, process 490passes control to node 634, which returns control to the callingprocess. If a health assessment is required, process 490 passes controlto a sequence of 5 steps that obtain various health assessments. First,process 490 passes control to step 624, which asks the patient for asubjective assessment of the patient's current health state. Next,process 490 passes control to step 626, which asks the patient forobjective health measurements of the patient's current health state.Next, process 490 passes control to step 628, which asks the patient forany current side effects. Next, process 490 invokes the CorrelationAssessment function 630. This function is described in conjunction withFIG. 12. Next, process 490 passes invokes the Critical Curve Assessmentfunction 640. This function is described in conjunction with FIG. 13.Next, process 490 passes control to step 632, which returns control tothe calling process.

CORRELATION ASSESSMENT

[0148] Referring to FIG. 12, the process 630 will be described.

[0149] This function computes and standardizes the SOCF for recentlyadded data, computes other assessment parameters and statistics, andupdates the patient medical history. Finally, it invokes the healthassessment function again to fill in data gaps for the interval sincethe last session.

[0150] Process 630 receives control at start node 650. Then process 630passes control to step 652, which obtains any new health data that havebeen added to the patient's medical history since the last DM session.Then process 630 passes control to step 654, which computes new pointson the raw SOCF time plot by taking the ratio of subjective to objectivemeasurement for the same time and updating the raw SOCF time plot arraywith the new points. Then process 630 passes control to step 656, whichapplies standard statistical normalization and curve-fitting techniquesto normalize the raw SOCF points and obtain a single current SOCF thatis high in patients whose subjective assessment tends to match theirobjective health measurements, and low in patients whose subjectiveassessments tend to be inaccurate by comparison with their objectivehealth measurements. Step 656 also computes other parameters used in therest of the DM session, such as the slope and slope trend for the mostrecent 3 data points and the difference between patient's measurementsand normal measurements. Step 656 also determines whether there arelarge gaps in the patient's health data, that need to be filledretroactively in by an interval assessment. Step 656 sets the DMO codeappropriately to call for another assessment. Then process 630 passescontrol to step 658, which updates the patient's medical history withthe computed assessment parameters. Then process 630 passes control totest 660, which determines whether the patient's health is to beassessed again for missing interval data. If test 660 determines that nofurther assessment is required, process 630 passes control to terminalnode 662, which returns control to the calling process. If test 660determines that another round of health assessment is required, process630 passes control to test 664. Test 664 determines the type of data tobe re-assessed for the interval. If test 664 determines that objectivedata are available, process 630 invokes Health Assessment process 490,passing a parameter that asks for both subjective and objective patienthealth data to be assessed for the interval. Then process 630 passescontrol to terminal node 674, which returns control to the callingprocess. If test 664 determines that objective data are not available,process 630 invokes Health Assessment process 490, passing a parameterthat asks for only subjective patient health assessments to be obtainedfor the interval. Then process 630 passes control to terminal node 672,which returns control to the calling process.

CRITICAL CURVE ASSESSMENT

[0151] Critical Curve Assessment is a DMM process for monitoring patienthealth for significant deterioration. A critical curve is defined as aplot of a health measurement against time that is used to identifysignificant changes in health state. The Critical Curve Assessmentprocess selects a disease- and patient-specific health parameter, plotsit as a critical curve, updates the critical curve as a normal part ofcontinuing DM sessions, and takes specific action if the patient'scritical curve exhibits specific critical points, slopes, and slopetrends. The process is based on comparing the patient's critical curveto standard, disease-specific critical curves. A constant, high ordinatevalue indicates good health; a declining curve indicates declininghealth; a sharp drop in the curve indicates a health crisis. The“critical point” on the curve is a point that predicts a significantdecline in health.

[0152] An example of a generic critical curve is shown in FIG. 23, whichcontains a point circled as the “critical point”. Referring to FIG. 23,it will be noted that, at the critical point, the slope of the curve(i.e. the line tangent to the curve at the critical point) is sharplynegative, which predicts that the next health measurement will be lowerthan the critical point. Moreover, at the critical point, the rate ofslope change may also be negative, indicating that the slope of thecurve is decreasing even more, predicts a rapidly deteriorating healthstate. For brevity, these three critical test items are typicallyreferred to in the DMM processes as the critical point, slope, andtrend. They are calculated using the last three health measurementpoints. For critical curves with sufficient data points, curve fittingtechniques can also be used.

[0153] The DMM has a database of diseases 262 (FIG. 3) that containstandard critical curves for various diseases, patient populations, andhealth parameters. The Critical Curve Assessment process extracts theappropriate disease data set, selects an appropriate health parameter tobe used, adapts it for the current patient, and saves it as the standardcurve for the current patient in the patient's medical history 254 (FIG.3). As the DMM periodically dialogs with the patient, the Critical CurveAssessment process obtains current data from the patient, plots them onthe patient's critical curve, and uses curve-fitting and patternmatching techniques to compare the patient's actual CC to the patient'sstandard CC. This comparison enables the DMM to detect key points andtrends on the patient's curve, such as the “critical point” thatpredicts a significant impending health decline. When the curveapproaches this critical point, the Critical Curve Assessment methodorders alterations in therapy that will prevent the predicteddeterioration, or sets a flag to refer the patient to a health careprovider. Both objective and subjective health data are used to plot theCC, especially if the Subjective-Objective Correlation Factor (SOCF) ishigh (which means that the patient knows his/her disease process welland the DMM can rely on the patient's responses more and more).

[0154] Homeostasis

[0155] The concept of homeostasis, as described by Claude Bernard, ishelpful in understanding the concepts behind the Critical Curve and itsanalysis. Briefly, homeostasis is a state of dynamic equilibrium of thebody. This equilibrium is maintained by various internal controlmechanisms that force certain system parameters to remain within adesired range. Using these homeostatic mechanisms, the body is able totolerate disease up to a certain point, at which time progression of thedisease begins to accelerate. Good examples of this are:

[0156] the bicarbonate buffering system for maintenance of blood pH,

[0157] the oxyhemoglobin disassociation curve, and

[0158] the deterioration of a patient with chronic obstructive pulmonarydisease.

[0159] The Critical Curve

[0160] The Critical Curve (CC) describes the patient's health stateduring a bout with disease. The curve plots the patient's health stateagainst time, starting initially at a (high) normal state of health anddescending—as the disease progresses—to a lower state of health.

[0161] A normal, disease-free patient will have a fairly steady plot ata high level of health. The initial part of the curve is asymptotic tonormal health because the healthy body can often resist disease for sometime by using reserve capacities and internal defense mechanisms. Afterthe initial phase, the health curve begins to descend at a steeper andsteeper angle, as reserves are used up and the disease is establishedand produces secondary effects. At some critical point, the curvesteepens so dramatically that the patient's condition may deterioratequickly.

[0162] Many physiologic parameters have a characteristic response tochange, being able to compensate up to a point, and then responding withvery large changes in signal findings to small changes in theprogression of the disease. It is very important to know where thepatient is on the Critical Curve, because if the expression of thedisease in this patient is about to accelerate significant interventionis required. When there is an indication or even a suspicion that thepatient's condition is approaching the steep area of the health curve,the DMM can recommend a change in therapy or consultation with thepatient's health caregiver. If confirmation of the change of the healthstate is required, the DMM reenter feature allows the DMM system toconfirm its hypothesis before making recommendations.

[0163] Critical Curve Analysis

[0164] For a patient with a known disease, who is managing the diseaseat home with suitable maintenance therapy, the DMM monitors thepatient's periodic contacts and health state reports. When the trendline indicates that the patient's health curve is reaching the criticalpoint, the DMM can change the therapy and/or notify the patient'sphysician. Since patients can go for months successfully managing theirdisease, this Curve analysis approach can save a significant number ofunnecessary physician visits, yet inform the physician and the patientat once when a change in health state indicates that the critical pointis being approached.

[0165] Obviously, it is best to use an easily quantifiable parameter asa marker for the progression of the disease in question to embody thiscurve, but if the subjective-objective correlation is high in a givenpatient, their subjective evaluation can accomplish the same thing.

[0166] The system measures the tidal volume and peak flow rates overtime. If it is found that small changes in tidal volume make largedifferences in the patient's impression of the severity of their disease(compared to the changes made previously in this patient), the patientis on the steep part of the curve. A flag is set and significantintervention is necessary.

[0167] If the therapeutic alteration permission level is set low, thenthe patient is referred to his physician, and the patient's doctorreceives a report, frequently a fax, email or downloads about the newdevelopments. If the therapeutic alteration level is set high, thentherapeutic optimization may occur before the patient sees hisphysician. A report is sent to the physician and the patient may or maynot have to be seen. It is this analysis and the recognition of thisrelationship that constitutes the “curve” analysis of the health state.

EXAMPLE

[0168] Chronic Obstructive Pulmonary Disease

[0169] We will discuss chronic obstructive pulmonary disease as anexample. Chronic obstructive pulmonary disease slowly destroys lungtissue. As mentioned, many physiologic parameters have the same responseto changes, being able to compensate up to a point, and then, after thatreserve capacity is gone, very small changes in the disease stateproduce very large changes in the expression of the progression of thedisease in the patient its early phase, the patient with chronicobstructive pulmonary disease loses only reserve lung capacity, so thereis no significant change in the resting health state. After the reservetissue has been destroyed, a threshold is reached beyond which smallerand smaller time increments (and progression of the disease process)will produce more and more profound deterioration in the patient'sability to blow off carbon dioxide and oxygenate the blood. Ultimately,even a very small change in chronic obstructive pulmonary diseaseresults in respiratory failure.

[0170] When we start to see larger and larger decrements to pulmonaryfunction plotted against time, the patient is reaching the critical partof the curve. Significant intervention is necessary and should bestarted as soon as possible.

[0171] The Critical Curve Assessment process is especially effective inthe DMM setting because the DMM:

[0172] is fully automated,

[0173] tracks patient health through time,

[0174] has various modules that track and correlate patient contacts,

[0175] knows the patient (history, Subjective-Objective CorrelationFactor)

[0176] has access to databases of medical knowledge,

[0177] can analyze disease progress using mathematical trend analysis,and

[0178] can select alternate therapies as required by altered conditions.

[0179] Referring to FIG. 13, the Critical Curve Assessment function 640will be described. This function has two phases. The first phase(starting at node 702) updates the patient's critical curve with healthmeasurements added to the patient's medical history since the lastcritical curve assessment. The second phase (starting at node 712)compares the patient's actual critical curve to the standard criticalcurve used for this patient. If a patient is at (or is approaching) acritical part of the curve, this suggests the possibility of rapiddeterioration of the disease being managed, and the patient is referredto a human physician for consultation.

[0180] Process 640 receives control at start node 700. Then process 640passes control to step 702, which updates the patient's actual criticalcurve with new health measurements. Next, process 640 passes control tostep 704, which analyzes the patient's updated critical curve to obtainthe latest critical curve point, slope, and 3-point trend. Next process640 passes control to step 706, which saves the patient's critical curvedata in the patient medical history. Next, process 640 passes control totest 708, which examines the DMO record code to see whether thepatient's critical points should be assessed. If the patient's criticalpoints should not be assessed, process 640 passes control to terminalnode 710, which returns control to the calling process. If the test 708indicates that health assessment is needed, process 640 passes controlto step 712.

[0181] Step 712 begins the assessment phase of process 640. Step 712retrieves or computes the working data needed to use the critical curveto assess patient health. Working data include the patient's latestactual health point and slope, the matching point and slope on thepatient's standard critical curve, and the thresholds used to rule thepatient as critical for each set. When step 712 has computed theseworking data, process 640 passes control to test 714.

[0182] Test 714 begins a sequence of steps that examine the patient'scritical point. If test 714 finds that the patient's latest health pointis not available or cannot be matched on the standard curve, process 640passes control to terminal node 716 which passes control to the callingprocess. If test 714 determines that the latest health point isavailable, then process 640 passes control to step 718 which comparesthe difference between the actual and standard critical health points.Then process 640 passes control to test 720. If test 720 finds that thepatient does meet or exceed the critical point threshold, process 640passes control to step 722, which sets the DMO record to refer thepatient to a human physician for consultation. Then process 640 passescontrol to terminal node 724, which returns control to the callingprocess. If test 720 finds that the patient does not meet the criticalpoint threshold, process 640 passes control to test 726.

[0183] Test 726 begins a sequence of steps that examine the patient'scritical slope. If test 726 determines that the critical slope is notavailable, process 640 passes control to terminal node 724 which returnscontrol to the calling process. If test 726 determines that the actualslope is available, process 640 passes control to 728, which comparesthe difference between the actual and standard critical slopes. Thenprocess 640 passes control to test 730. If test 730 determines that thepatient is below the critical slope threshold, process 640 passescontrol to node 724, which returns control to the calling process. Iftest 730 determines that the patient does meet or exceed the criticalslope threshold, process 640 passes control to node 732, which sets theDMO record to refer the patient to a human physician for consultation.Then process 640 passes control to node 724, which returns control tothe calling process.

THERAPY OPTIMIZATION

[0184] Therapy Optimization consists of a set of processes that reviewand adjust patient therapy from session to session, with a long-termgoal of maximizing efficacy, minimizing adverse side effects, andmaintain patient cooperation and acceptance of the recommended therapy.The Therapy Optimization processes select therapy parameters frommedical treatment tables and track patient-specific efficacy byreviewing subjective and objective patient health data from session tosession. The Therapy Optimization process selects from multipletherapies. It seeks to minimize side effects by offering the patient thechoice of alternate therapies, and by adjusting therapy dosage levelsuntil the patient finds the appropriate comfort level. Disagreementsbetween the DMM and the patient are resolved by referring the patient toa human physician for face-to-face consultation and advice. TherapyOptimization is guided and controlled by the Therapy OptimizationPermission Level (TAPL), a DMM-global variable that specifies the amountof autonomy that the DMM has to alter therapy. The TAPL is described ina separate section below.

[0185] After the patient health state has been assessed, the TherapyOptimization process reviews and adjusts (to the extent the TAPL allowsit) the patient's treatment to achieve the best combination of severalsubgoals of the overall goal of restoring normal health. The TherapyOptimization process also seeks to minimize treatment side effects. Tothe extent allowed by the current TAPL setting, the DMM will graduallytitrate the dose of a medication until the benefit/side effect ratio ismaximized. The overall idea is to achieve the desired physiologicalchanges with the fewest side effects. Initial treatment is selected froma treatment table based on disease, age, and sex. Due to the wide rangeof responses to treatments by different patients, once a drug has beenselected as the therapy for a given disease, the different formulation,dosing, administering methods and timing are, in effect, a matter oftrial and error for a specific patient. To review therapy, the TherapyOptimization task compares the patient's current therapy to thetreatment table to detect and analyze differences. If a new treatment isavailable, the patient and the healthcare giver are notified, and thetherapy may be altered, depending on the TAPL. To maximize thetherapeutic result and minimize side effects, the Function can selectthe initial therapy, review the patient's current therapy, adjustvarious parameters of the therapy, and monitor the effect of thesechanges. Therapy parameters that can be changed include drug class,type, brand, dose, route, mode of drug administration, formulation,timing, and frequency. As each of these is modified, the patient'shealth data and side effects are checked to see if the currentmodification of therapy makes the patient better, and so on. Eachtherapy parameter is sequentially altered on a trial and error basis tofind the overall best combination of therapy parameters. When the DMMadjusts a patient's therapy, it adjusts the DM session scheduleappropriately, typically instructing the patient to re-enter the systemwithin a few iterations of therapy or dosage.

[0186] Side effect minimization is a special goal of the TherapyOptimization process, which seeks to reduce the undesirable side effectsof therapy. This task illustrates the complex, trial-and-error methodsused by the DMM to Therapy Optimization feature. Example 1: In cancerpatients there is a point at which patients receiving chemotherapydecide that the side effects are not worth the slowing of theprogression of the disease. At that point, one “backs off” (decreasesthe dosage), knowing that any further increase will be futile. Theprocess becomes more complicated if multiple drugs are involved, but thesame relationships hold. Example 2: Albuterol-metered dose inhalers helpthe wheezing of asthma patients, but at a certain patient-specific dose,the side effects get so bad, that the patient cannot tolerate them. Atthat point, the dosage is backed off in small steps to get the bestratio of efficacy to side effects.

[0187] Referring to FIG. 14, the Therapy Optimization process 408 willbe described. Process 408 performs the therapy phase of the DM session.This phase computes the next best therapy step that is accepted by thepatient, using two major subordinate processes and a loop that triesvarious therapies until the patient accepts one. The general goal ofprocess 408 is to select therapy steps in a manner that optimizestherapy over the long term, by maximizing efficacy, minimizing sideeffects, and adjusting therapy types and modalities to meet thepatient's comfort level. Process 408 receives control at start node 760.Then, process 408 passes control to test 762, which tests whether thepatient provided current objective health measurements during theearlier part of this DM session. If test 762 finds that the patient didnot provide current objective health data, process 408 passes control totest 782, which tests whether the patient entered a subjectiveassessment of his/her health during the earlier part of the DM session.If test 782 finds that the patient provided a subjective healthassessment, process 408 invokes process 790. Process 790 adjusts thetherapy based on current subjective health data. Process 790 is detailedbelow in conjunction with FIG. 15. When process 790 returns control,process 408 passes control to terminal node 792, which returns controlto the calling process. If test 782 finds that the patient did notprovide a current subjective health assessment, process 408 passescontrol to 784, which sets the DMO record to refer the patient to ahuman physician for consultation. Then, process 408 passes control toterminal node 786, which returns control to the calling process.

[0188] If test 762 finds that the patient did provide current objectivehealth data, process 408 passes control to step 764, which initializes aloop that will try various therapies until the patient accepts one oruntil the number of retries is exhausted, whichever occurs first. Step764 obtains the maximum number of therapy permitted from the permissionsdatabase for this patient. Then, process 408 invokes process 770.Process 770 selects the next best therapy from the treatment table forthis patient and offers it to the patient who can accept or modify orreject it. Process 770 is further described below in conjunction withFIG. 16. When process 770 returns control, process 408 passes control totest 772. If test 772 determines that the patient accepted the therapyrecommended, process 408 passes control to terminal node 780, whichreturns control to the calling process.

[0189] If test 772 determines that the patient rejected the therapyrecommended, process 408 passes control to test 774. If test 774determines that the loop retry count is greater than one, process 408passes control to step 776. Step 776 reduces the loop retry count by 1and then process 408 invokes process 770 again for another iteration ofthe loop. If test 774 determines that the retry count is 1, then process408 passes control to step 778. Step 778 sets the DMO record to referthe patient to a human physician for consultation. Then, process 408passes control to terminal node 780, which returns control to thecalling process.

THERAPY ADJUSTMENT (SUBJECTIVE)

[0190] Referring to FIG. 15, the process 790 will be described. Process790 computes the next best therapy for this patient, based only on thepatient's subjective assessments of his/her health. Process 790 uses theSubjective-Objective Correlation Factor (SOCF) which is described belowin the section Subjective-Objective Correlation Factor. The SOCFindicates how reliable this patient is in subjectively assessing his/herdisease, and process 790 relies on the SOCF in computing the nexttherapy step.

[0191] Process 790 receives control at start node 810. Then, process 790passes control to test 812. If test 812 determines that the patient doesnot need therapy adjustment, i.e. that the DMO record of this patienthas already been completed for an approved therapy, process 790 passescontrol to terminal node 814 which returns control to the callingprocess. If test 812 determines that this patient requires therapyoptimization, process 790 passes control to test 816. Test 816determines (by asking the patient or by obtaining the patient's savedresponse if the patient has already been asked) whether the patient ishaving any current symptoms. If test 816 finds that the patient issymptom-free, process 790 passes control to test 818. If test 818determines that the current DMM TAPL setting does not permit therapyadjustments, process 790 passes control to node 826, which sets the DMOrecord to maintain the same therapy, e.g. the same dose in the case of adrug-based therapy. Then, process 790 passes control to terminal node824, which returns control to the calling process.

[0192] If test 818 determines that the current TAPL setting does permittherapy adjustments, process 790 passes control to test 820. If test 820determines that the patient does not want to try to reduce the dose,process 790 passes control to step 826, which sets the DMO record tomaintain the same therapy. Then, process 790 passes control to terminalnode 824, which returns control to the calling process. If test 820determines that the patient wants to reduce the dose, process 790 passescontrol to step 822, which looks up the next lower dosage level in thetreatment table and sets the DMO record to decrease the dose. Then,process 790 passes control to terminal node 824, which returns controlto the calling process.

[0193] If test 816 finds that the patient is having current symptoms,process 790 passes control to test 830. If test 830 finds that the TAPLdoes not permit changes in therapy, process 790 passes control to step832. Step 832 sets the DMO record to refer the patient to a humanphysician for consultation. Then, process 790 passes control to terminalnode 833 returns control to the calling process. If test 830 finds thatthe TAPL does permit changes in therapy, process 790 passes control tostep 834.

[0194] Step 834 begins that phase of process 790 which computes the nexttherapy step for a patient who is having symptoms, but has only reportedcurrent subjective health assessments. Step 834 uses the current SOCFfrom the patient's medical history, modifies it by the currentSensitivity Factor Set to adjust it to the sensitivity being used forthis patient, and then classifies the patient's current SOCF as “high”or “low” for the purpose at hand. If test 834 classifies the patient'sSOCF as high, the patient's subjective health assessment is reliable,and process 790 passes control to step 838 which looks up in thetreatment table how much the therapy (i.e. dose in the example drawn)can be increased for a patient with a high SOCF, and what the associatedbenefits and risks are. Then, process 790 invokes function 840.Alternatively, if test 834 deems the SOCF as low, process 790 passescontrol to step 836, which obtains the dose and risk/benefit factors forunreliable patients. In either case, process 790 continues by invokingfunction 840.

[0195] The Patient Consent Level function 840 presents a recommendedtherapy to the patient and obtains a consent of the patient to thetherapy as recommended or to some variation of it; the patient may alsoreject the recommended therapy entirely. Function 840 is described belowin conjunction with FIG. 17.

[0196] When function 840 returns control, if function 840 returns theresult that the patient consents to an increased dose, process 790passes control to step 842. Step 842 sets the DMO record to indicate thenext therapy with an increased dose, and with an appropriate change inschedule for a sooner DM session. Then, process 790 passes control toterminal node 844 which returns control to the calling process.

[0197] When function 840 returns control, if function 840 returns theresult that the patient consents to continue therapy with the same dose,process 790 passes control to step 846. Step 846 sets the DMO record toindicate that the same therapy is to be continued. Then, process 790passes control to terminal node 844 which returns control to the callingprocess.

[0198] When function 840 returns control, if function 840 returns theresult that the patient consents to a reduced dose, process 790 passescontrol to step 848. Step 848 sets the DMO record to indicate the nexttherapy with a reduced dose. Then, process 790 passes control toterminal node 844 which returns control to the calling process.

[0199] When function 840 returns control, if function 840 returns theresult that the patient rejects the recommended therapy at any level,process 790 passes control to test 850. Test 850 consults the currentSensitivity Factor Set to see whether process 790 should try the nextbest therapy or should refer the patient to a human physician. If test850 determines that other therapies may be tried, process 790 passescontrol to node 852, which sets the DMO record to indicate that thepatient rejected the recommended therapy. Then, process 790 passescontrol to terminal node 844, which returns control to the callingprocess. If test 850 determines that the patient should be referred,process 790 passes control to node 854, which sets the DMO record torefer the patient to a human physician. Then, process 790 passes controlto terminal node 844 which returns control to the calling process.

THERAPY ADJUSTMENT (OBJECTIVE)

[0200] Referring to FIG. 16, the process 770 will be described. Process770 computes the next best therapy for this patient, based on thepatient's current objective health measurements. The process receivescontrol at start node 870. Then, process 770 passes control to test 872.Test 872 compares health assessment parameters to determine whether thepatient's objective health data meet or exceed various thresholds. Test872 first compares the patient's current health measurement to anabsolute threshold for that measurement, to see if the measurementitself is in acceptable range. Test 872 next compares the slope of thelast two health measurements, to see if the patient's health isdeteriorating at a rate that exceed a threshold. Test 872 next comparesthe change in the slopes of the last three measurements, to see if thepatient's rate of change of health is getting worse more and morerapidly. If any one of these thresholds is met or exceeded, process 770passes control to step 874, which sets the DMO to refer the patient to ahuman physician. Then, process 770 passes control to terminal node 876,which returns control to the calling process.

[0201] If test 872 determines that all of the patient's current healthstatistics are below threshold, process 770 passes control to test 878.Test 878 begins that phase of process 770 which computes the nextrecommended therapy for this patient. Test 878 compares the currentpatient health measurements to those of the previous DM session, toclassify the patient's change of health state as “better, same, orworse” for the purpose of computing the next therapy step.

[0202] If test 878 determines that the patient is worse than the lasttime, process 770 passes control to test 880. Test 880 determines (fromthe treatment table) whether the current therapy dose can be increased.If test 880 determines that the dose can be increased, process 770passes control to node 882, which sets the DMO to increase the dose.Then, process 770 passes control to test 896. If test 880 determinesthat the dose can not be increased, process 770 passes control to node884, which sets the DMO to continue therapy with the same dose. Then,process 770 passes control to test 896.

[0203] If test 878 determines that the patient is in the same health asthe last time, process 770 passes control to test 892. Test 892determines whether the patient's current health measurements are innormal limits. If test 892 determines that the patient's current healthdata are normal, process 770 passes control to step 890. Step 890 setsthe DMO to decrease the dose. Then process 770 passes control to 896. Iftest 892 determines that the patient's current health data are outsidenormal limits, process 770 passes control to test 880. Test 880 has beendescribed above for process 770.

[0204] If test 878 determines that the patient is better than the lasttime, process 770 passes control to test 886. If test 886 determines (byconsulting the treatment table) that the current dose can be reduced,process 770 passes control to step 890. Step 890 has been describedabove for process 770. If test 886 determines that the current dose cannot be reduced, process 770 passes control to step 888, which sets theDMO to continue therapy with the same dose. Then, process 770 passescontrol to test 896.

[0205] Test 896 determines whether the TAPL setting for this patientallows the DMO as computed so far by process 770. If test 896 determinesthat the TAPL allows the DMO as written, process 870 invokes the PatientConsent Level function 840, which presents a recommended therapy to thepatient and obtains a consent of the patient to the therapy asrecommended or to some variation of it; the patient may also reject therecommended therapy entirely. Function 840 is described below inconjunction with FIG. 17. If function 840 returns the result that thepatient accepts the recommended therapy (perhaps at some modifiedlevel), process 770 passes control to terminal node 898, which returnscontrol to the calling process. If function 840 returns the result thatthe patient rejects the recommended therapy entirely, process 770 passescontrol to test 900. Test 900 consults the current Sensitivity FactorSet to see whether process 770 should try the next best therapy orshould refer the patient to a human physician. If test 900 determinesthat other therapies may be tried, process 770 passes control to node902, which sets the DMO record to indicate that the patient rejected therecommended therapy. Then, process 770 passes control to terminal node904, which returns control to the calling process. If test 900determines that the patient should consult a physician, process 770passes control to node 906, which sets the DMO record to refer thepatient to a human physician. Then, process 770 passes control toterminal node 904 which returns control to the calling process.

[0206] If test 896 determines that the TAPL does not allow therecommended therapy, process 770 passes control to step 908, which setsthe DMO record to refer the patient to a human physician. Then, process770 passes control to terminal node 904 which returns control to thecalling process.

PATIENT CONSENT LEVEL

[0207] Referring to FIG. 17, the Patient Consent Level function 840 willbe described. Function 840 presents a recommended therapy to the patientand obtains the consent of the patient to the therapy, either exactly asrecommended by the DMM, or as adjusted to some variation of it, based onthe patient's responses. The patient may also reject the recommendedtherapy entirely. Function 840 receives control at starting node 920.Then process 840 passes control to step 922, which outputs the therapyas recommended in the DMO to the patient. Next, process 840 passescontrol to step 924, which presents the risks and benefits to thepatient. Next, process 840 passes control to step 926, which presentsother therapy choices to the patient. Next, process 840 passes controlto step 928, which asks the patient to agree to the recommended therapy,or to some version of the therapy. Next, process 840 passes control tostep 930, which updates the DMO to record the choices offered, warningsgiven, and consent level received, with suitable date and time stamps.Next, process 840 passes control to step 932, which computes a functionresult to be returned to the calling process. The consent level grantedby the patient may have several values. The four values used in theflowcharts assume a drug therapy, and are: (1) ok to increase dosage;(2) ok to keep dosage at same level; (3) ok to reduce dosage; and (4)reject this therapy. Next, process 840 passes control to terminal node934, which returns control to the calling process.

CLOSE SESSION

[0208] Referring to FIG. 18, the Close Session process 410 will bedescribed. Process 410 is the last process executed for every DMsession. It is specifically responsible for processing the DiseaseManagement Order (DMO), which contains the complete set of tests madeand reasons therefore, the next therapy step recommended, consent givenby the patient, and various associated orders, such as to fax aprescription to the patient's pharmacy, to order a test from alaboratory, to prepare a report for the patient's physician, to sendprinted instructions to the patient, and so on. Aside from implementingthe DMO details, process 410 is also generally responsible for loggingall events that occurred during the DM session, storing all relevantdata, closing all applicable files, scheduling the next DM session, andfinally bidding the patient farewell to indicate that the current DMsession is terminated.

[0209] Process 410 receives control at start node 950. Next, process 410passes control to test 952, which logs the therapy ordered by the DMO inthe patient's medical history. Then process 410 passes control to test954, which determines whether the DMO contains special orders to beprocessed. If test 954 determines that the DMO has no special therapyorders, process 410 passes control to step 972, which schedules the nextDM session as specified in the current therapy schedule of the patient.Then, process 410 passes control to node 962. Processing from node 962is described below for process 410. If test 954 determines that the DMOhas special orders, process 410 passes control to step 956, whichschedules the next DM session as ordered by the DMO. Next, process 410passes control to step 958, which prepares and sends various notices andreports to various contacts. These notifications and the contacts thatreceive them are controlled by the Regulatory, Sharing, and otherauthorization fields that are maintained in the Permissions database.Next, process 410 passes control to step 960, which informs the patientabout the next therapy step and gives the patient instructions asordered by the DMO and as permitted by the Permissions database. Next,process 410 passes control to step 962.

[0210] Step 962 informs the patient's physician about the DM session andabout the therapy ordered by the DMM. While the patient's physician isalways entitled to all information generated for the patient, thephysician may specify the notices sent and the detail reported. Thephysician's current requirements and limitations for notification arestored in the permissions database, and may be modified by the physicianusing processes outside of the DMM. Next, process 410 passes control tostep 964, which informs the patient about the actions taken by the DMMsoftware, to the extent permitted in the Permissions database. This stepallows the system to tell the patient what it is doing and why, whichcan gain the patient's confidence and help the patient to make betterdecisions in future sessions. This feedback is an important element ofthe long-term therapy optimization that is one of the hallmarks of thisinvention. Step 964 also reviews all special flags set to discuss newsymptoms with the patient. Next, process 410 passes control to step 966,which saves all relevant data in various suitable main and backupstorage locations. Next, process 410 passes control to step 968, whichcloses all applicable data files and releases all temporary computingsystem resources allocated to the DM session. Next, process 410 passescontrol to terminal node 970, which returns control to the callingprocess.

QUESTION VERSIONS

[0211] The Question Versions feature of the DMM allows several differentversions of the same question to be written into a script, and defersthe decision which version to use until run-time. The feature uses aglobal data item called the Question Version Index (QVI) to select thedesired version of the question from the script at run time.

[0212] The Question Version feature can be visualized as a “QuestionRoller”: a multifaceted cylinder with one different version of thequestion written on each face. To ask a question, the cylinder is rolledto display the face that contains the desired question text. If eachquestion of a set is written on a separate cylinder, and all cylindersare rolled in unison to display the same face, as specified by a globalcontrol element, the entire question set of the script can be adjustedor “rolled” as one unit, so that the script as a whole can be adjustedor fine-tuned to ask different versions of the question at differentlevels.

[0213] One use of the Question Versions feature is to be able toglobally adjust the sensitivity and selectivity of the language used bythe entire DMM, using a DMM-global QVI that controls the linguisticsensitivity. Thus, when the sensitivity or selectivity of questionsneeds to be altered, the Question Roller is turned or ratcheted one wayto increase the sensitivity and the opposite way to increase theselectivity. For this use, each question version differs only slightlyin wording and sensitivity. In some cases, the only difference is acomma (a pause) or an intonation of the voice, such as:

[0214] Is this absolutely the worst headache that you can imagine anyonehaving?

[0215] Is this the worst headache that you can imagine anyone having?

[0216] Is this the worst headache you have ever had?

[0217] Is this one of your worst headaches?

[0218] Another use of the Question Version feature is to write scriptquestions aimed at different levels of patient education, intelligence,disease understanding, or medical expertise. For example, the DMM canask the same question in various forms written for a 3rd grader, for ahigh school student, for a college graduate, or for a health careprovider. Thus, the DMM can adapt output to the patient's communicationneeds, which may involve a range of decisions based on what is currentlyknown about the patient, such as what natural language to use, what thelevel of understanding is, what grammar to use (e.g., are we addressingthe patient, the patient's relative, or the patient's doctor?), and whatmedical details to disclose. The DMM can consult the patient's medicalhistory to determine the level of the language, education, andintelligence that the patient can understand. If no indicator ispresent, a mini language IQ test can be given as part of the InitialHealth Assessment task to establish the QVI to use with the patient.

[0219] Yet another use of the Question Version feature is to allow theDMM to adjust the question level dynamically, based on the patientresponses or requests. Thus, a patient who is getting confused or lostmay ask the DMM to give more detailed instructions on how to respond toquestions. The DMM can react by altering the QVI to select moreappropriate question versions. On the other hand, as the patient learnsduring a session, she may later request fewer instructions and a fastercommunications mode. Again, the DMM can respond by adjusting the QVI. Inthis manner, the DMM learns about the patient's current and past use ofthe DMM and can modify itself to adapt to the patient's naturallanguage, education, medical knowledge, and medical sensitivityrequired.

[0220] The Question Version feature is implemented in software byallowing script authors to collect different versions of a question intoa “version group,” in which each version of the question is associatedwith a different QVI. At run-time, the DMM uses the Sensitivity FactorSet to establish a global QVI to specify the current question version tobe used with the current patient by all scripts. When a DMM process(such as the script engine) needs to output a question, it uses theglobal QVI to find and retrieve the desired question from the script'squestion group. Questions that do not require different versions arewritten as a version group with only one question, which acts as thedefault question. This default question is also used when there is noquestion in the version group for the current global QVI.

[0221] This Question Version design allows questions versions to bewritten for a wide range of QVIs, without having to write a version foreach QVI. A simple script can just have one question version; as thescript improves, additional question versions are added. For example,the first script might be written in English, and later upgraded to addSpanish versions of each question.

[0222] The Question Version feature is implemented in the form of aQuestion Version Index and two separate functions Set QVI and SelectQuestion. In FIGS. 19a and 19 b, these elements are shown as follows:

[0223] Global Version Index (QVI) is data item 1020;

[0224] Set QVI is process 1000;

[0225] Select Question process is shown as process 1001.

[0226] The current setting of the Global Version Index 1020 determineswhich one of several different question versions is selected and outputto the patient. Data element 1020 is stored as a control field in thepermissions database 256 (FIG. 3), and is changed by process 1000 andused by process 1001.

[0227] Process 1000 is a DMM-global system service routine that sets andupdates data element 1020 periodically. Process 1000 receives control atstarting node 1002. Then process 1000 passes control to step 1004, whichidentifies the patient whose data element 1020 is to be set. Thenprocess 1000 passes control to step 1006, which retrieves the currentvalue of the patient's data element 1020. Then process 1000 passescontrol to step 1008, which computes the new value of the data element1020. Step obtains the level of sensitivity desired from the currentSensitivity Factor Set, and obtains other parameters from the patientmedical history, such as the level of patient's education, the level oflanguage understood, and the QVI settings used in past DM sessions.After step 1008 computes a new QVI value, process 1000 passes control tostep 1010, which stores the new value in the patient's data element1020. This completes the action of updating the patient's data element1020. Then process 1000 passes control to terminal node 1012, whichreturns control to the calling process.

[0228] Process 1001 is a DMM-global routine that uses the Global VersionIndex 1020 to select one question from a set of questions. Process 1001receives control at starting node 1022. Then process 1001 passes controlto step 1024, which loads the applicable question set from the currentscript's data area. Then process 1001 passes control to step 1026, whichobtains the current value of the Question Version Index 1020 from thepatient's permission file. Then process 1001 passes control to test1028. Test 1028 determines whether the question version selected by theQVI is in the question set obtained in step 1024. If test 1028determines that the desired version is in the question set, process 1001passes control to step 1030, which retrieves the question with thedesired question level from the set. Then process 1001 passes control tostep 1034, which returns the question selected from the set as afunction result to the caller. Then process 1001 passes control toterminal node 1036, which returns control to the calling process. Iftest 1028 determines that the desired version is not in the questionset, process 1001 passes control to step 1032, which retrieves thedefault question from the set. Then process 1001 passes control to step1034, which returns the question selected from the set as a functionresult to the caller. Then process 1001 passes control to terminal node1036, which returns control to the calling process.

PREVIEW MODE

[0229] Preview Mode is a DMM script run-time mode that allows thepatient to “look ahead,” that is to examine the consequences of aresponse before “officially” giving the response. In effect, the patientcan say—at any point in a script—“let me see what this answer would do”.One use of Preview Mode is to let the patient suspend an ongoing dialogto see what a pending question means. Knowing the consequences of aresponse is helpful in clarifying the impact or focus of a question.Thus, in a printed flowchart or procedure, one good way to find the bestpath is to look ahead to see what the consequences (or recommendations)would be of answering a question a certain way. Another uses of PreviewMode is to let the script explicitly warn the patient that a particularquestion involves serious consequences, and to use Preview Mode so thatthe patient can consider the effect of each response. For example, oneresponse may begin action to contact the patient's physician, or totransfer the patient to an emergency facility. If the script can warnthe patient about this consequence, the patient can preview theseresponses without activating them, and can alter the direction of thescript dialog

[0230] Referring to FIG. 20, the process 1060 will be described. Thisprocess shows only those steps of a DM session that handle the PreviewMode feature, which is involved in the steps that ask the patient aquestion and process the response. Other steps of a DM session that arenot concerned with the Preview Mode are omitted for clarity. Process1060 receives control at start node 1062. Then process 1060 passescontrol to test 1064. If test 1064 determines that there are no furtherquestions to be asked, process 1060 passes control to terminal node1066, which terminates the Preview Mode. If test 1064 determines that isa question to be asked, process 1060 passes control to step 1068, whichoutputs the question to the patient. Then process 1060 passes control tostep 1070, which outputs the set of responses to the patient. Thenprocess 1060 passes control to step 1072, which inputs a response fromthe patient, together with an indicator that the patient does or doesnot want to preview the script's actions for this response. Then process1060 passes control to test 1074. If test 1074 determines that thepatient has responded with the preview indicator set, process 1060passes control to step 1076. Step 1076 retrieves the preview informationthat is coded into the script (as part of the normal question andresponse texts) and outputs it to the patient, so that the patient seesor hears a description of what the selected response would do in “real”mode. For example, a preview text might tell the patient that “A YESresponse will increase your daily medication dose for the next 2 weeks”.After the preview text is output to the patient, process 1060 passescontrol to step 1068, which asks the same question again, as describedabove for step 1068. But if test 1074 determines that the patient hasresponded without the preview indicator, process 1060 passes control tostep 1078. Step 1078 performs the actions normally scripted for theresponse given. Then process 1060 passes control to test 1064, whichdetermines whether there is a next question to be asked, as describedabove for test 1064.

NO-RESPONSE FEATURE

[0231] Every DMM dialog with a patient is controlled by a script. Duringa normal session, the script selects a question and outputs it to thepatient, and the patient inputs a response. The script analyzes theresponse, selects another question, and outputs it to the patient. Thisquestion-response-question-response dialog continues until the sessionis terminated normally. However, when a patient unexpectedly fails torespond in the middle of the dialog, all scripts are designed to invokethe No-Response (NR) feature, which is responsible for takingappropriate continuation action for the script. The NR feature is a DMMsoftware mechanism that is triggered when a timeout condition issignaled by the operating system. The NR mechanism can take any numberof actions that have been pre-arranged by the script and can be changedas the script runs. The NR actions can range from a silent entry in theDM sessions log all the way to using health data from the patientmedical history and medication and symptom data from the diseasedatabase to contact a responsible neighbor of the patient, or a nearbyemergency response facility.

[0232] One use of the NR feature is to perform a medical disease- andpatient-specific evaluation of the failure of the patient to respond.Obviously, in certain patients with certain diseases (e.g. heartproblems, head injury, diabetes) the patient's sudden failure to respondin the middle of a normal dialog may indicate any number ofpossibilities. The NR feature is of special value in the context of theDMM, which has detailed medical information about a patient fromprevious sessions, and in the context of the FO Support System, whichhas extensive relevant databases indexed by geographic location aroundthe world (e.g. emergency rooms, 911 agencies, paramedics). Because ofwhat the system knows about a patient, the NRF can take verysituation-specific actions. A very simple example would be a 60-year oldman consulting for chest pain: sudden failure to respond to a questionwould suggest a cardiac arrest and could initiate emergency actions,including calling the patient's local 911 agency.

[0233] Referring to FIG. 21, the process 1100 is described. Note thatprocess 1100 shows only those portions of a script's steps that arerelevant to the No-Response Feature. Other steps of the scripts areomitted for clarity. Process 1100 receives control at start node 1102,which represents the generic start node of any script. Then process 1100passes control to step group 1104. Step group 1104 represents all of thescript's actions that do not involve the NR Feature. If the scriptterminates as part of one of these steps, process 1100 passes control toterminating node 1106, which terminates the script. When one of thesteps in step group 1104 wants to ask a question of the patient, process1100 passes control to step 1108. Step 1108 sets up the NR parametersneeded later, if the patient should fail to respond. The source of theseparameters is the patient's medical history 254, which contains therelevant information to be used if the patient fails to respond, such asthe patient's disease, health state, medications being taken, physician,nearest emergency facility, and so on. Step 1108 stores the NRparameters as a data set 264. Then process 1100 passes control to step1112, which outputs the actual question to the patient. Then process1100 passes control to test 1114. Details of step 1114 vary withoperating system and hardware platform, but the typical action is to seta timeout flag for a specified wait time, yield control to the operatingsystem, and regain control when the operating system returns a responseor the wait time has expired. If test 1114 receives a response, process1100 passes control to step group 1104, where the normal script'sactions continue. If test 1114 receives a timeout, process 1100 passescontrol to step 1116. Step 1116 retrieves the patient-, disease-, andlocation-specific NR data from the data sets 264 and 254 and performsthe NR actions requested. When step 1116 has performed the NR actions,process 1100 passes control to terminal node 1116, which represents thegeneric termination of a script due to a timeout.

PQRST ARRAY

[0234] Sir Thomas Lewis said that pain is “known to us by experience anddescribed by illustration”. The ability to encode the subjectiveexperience of pain into a standard and repeatable format is an essentialasset to any system of automated medicine. Many diagnostic sessionsbegin with a patient reporting some type of pain to a physician in theform of a chief complaint; a thorough description of pain can quicklysuggest as well as eliminate many diagnoses, using a table lookup ordatabase access mechanism.

[0235] The PQRST Array feature describes a set of software processes anddata that work together to encode a patient's description of pain into a“pain code”, which is a specially formatted array of integers. Encodingis done in a manner that preserves the subjective information, so thatit is possible to decode a pain code by using the array integers torecover the original words used to describe the pain.

[0236] A pain code is composed of subcodes; each subcode identifies onewell-defined detail aspect of the experience of pain such as location,sensation, frequency, etc. The pain subcodes are arranged into aspecific sequence or format that is known to all software processes thatmanipulate the pain code. The sequence used to encode the aspects isitself prefixed as a number to the sequence, so that so that the firstaspect of the array always identifies the coding scheme that is used forthe array. This makes the PQRST Array flexible and extensible, sincevarious encoding schemes can be used to meet various needs. Any softwareprocess that needs to decode a PQRST in the future simply examines thefirst aspect code and knows from its value which decoding scheme to usefor the rest of the aspects.

[0237] The PQRST Array feature permits encoding of a patient's report ofpain into digital form that is suitable for software processes. Forexample, a patient's complaint that “when I bend my right arm or rotatemy wrist, even slightly, the elbow area hurts really bad, with a sort ofgritty or grinding sound, but there is no bleeding” may be encoded byletting the patient select from standard descriptor words (e.g. gritty,tight, numb) and converting the selected words into an integer arraysomething like (7,2,3,8,5,970612,2,13). This array represents thenumeric value of various aspects of pain such as location,repeatability, quality, or a date such as 970612. For any given aspect,the number represents some degree or description of the pain. Thus, ifthe fourth aspect number represents Sounds-Associated-With-Movement, thesubcode value 8 may represent “gritty/grinding noise associated withjoint movement”.

[0238] The “PQRST” label is adapted from the classic mnemonic used bymedical students for the basic aspects of pain, which are: P=Provocative/ Palliative (what brings it on, makes it worse, or makes it better);Q=Quality (sharp or dull); R=Region (head or chest, etc.); S=Severity(mild to agonizing); and T=Timing (when the pain started). These aspectsrepresent a starting point for the PQRST Array, which is extensible toinclude other useful subjective descriptors of illness, with manyadditional aspects associated with the pain such as Cause (infection,trauma), Mass (mole, lump), Size (fingertip, golf ball), Sensation(tickling, pulsing) and objective associations (color, smell,discharge).

[0239] To encode a description of pain into a pain code, a process usesa set of pre-defined aspects (i.e. facets, elements, dimensions) ofpain,

[0240] uses a set of pre-defined aspect words defined for each aspect,

[0241] obtains the applicable aspect word from the patient

[0242] encodes all aspect words into subcodes

[0243] formats the subcodes as a physical data item (the PQRST Array)

[0244] stores the PQRST Array in memory or on disk

[0245] uses the address of the storage location as a pointer

[0246] To manipulate a pain code as a whole, a program

[0247] passes the pointer to the PQRST Array

[0248] uses the pointer to access the PQRST Array, if necessary

[0249] To decode a pain code, a program reverses the encoding process:

[0250] uses the pointer to locate the PQRST Array in memory or storage

[0251] retrieves the PQRST ARRAY from memory or disk

[0252] retrieves each subcode

[0253] decodes each subcode into its subjective aspect word

[0254] outputs the aspect words as the subjective description.

[0255] Referring to FIG. 22a, the process 1140 will be described.Process 1140 comprises the steps required to create a PQRST Array thatrepresents the digitized form of a patient's subjective description ofpain. Process 1140 is described here assuming that the patient ison-line and can interactively enter subjective pain description detailswhen prompted by process 1140. Process 1140 receives control from acalling process at start step 1142. Step 1142 is the beginning of a loopthat encodes pain aspects entered by the patient into a matching set ofpain subcodes. Step 1142 allocates space for a PQRST Array that willcontain the subcodes. Next, process 1140 passes control to step 1144,which establishes the next pain aspect to be encoded. Next, process 1140passes control to step 1146, which retrieve a list of standard aspectwords from database 1150 and outputs them to the patient in a format ofa pick list, i.e. a list that the patient can examine and from which thepatient can pick one of the aspect words. Next, process 1140 passescontrol to step 1152, which asks the patient to select the aspect wordfrom the pick list that best matches the patient's subjectivedescription of the pain aspect being encoded. Next, process 1140 passescontrol to step 1154, which converts the aspect word selected by thepatient into an integer that identifies that aspect word. This integeris the subcode for the current aspect. It can be simply the indexposition of the selected aspect word in the pick list. Next, process1140 passes control to step 1156, which inserts the subcode integer intothe PQRST Array, at the index position that represents the aspect beingencoded. Next, process 1140 passes control to test 1158, whichdetermines whether more aspects are to be encoded. If test 1158 findsthat there are more aspects to be encoded, then process 1140 passescontrol to step 1144 to begin another iteration of the loop justdescribed. If test 1158 finds that there are no more aspects to beencoded, then process 1140 passes control to step 1160, which stores orcopies the PQRST Array into the appropriate data set, such as thepatient's medical history 254. Next, process 1140 passes control to step1162. Step 1162 returns control to the calling process.

[0256] Referring to FIG. 22b, the process 1170 will be described.Process 1170 is an example of the steps required to use a PQRST Array asan index to retrieve a specific diagnosis from a table of diseases. Thisexample assumes that a list of diseases (or disease sets, where there ismore than one disease for a given pain code) has been indexed by paincode and stored into a database of diseases 262. This example alsoassumes that there is a software process for accessing the database thatcan retrieve elements of the database when given an access key. Oneobvious example of such a database access mechanism is a suitablyformatted Structured Query Language (SQL) statement; another example isa simple array of disease names or pointer that is accessed using theindex position of each element. Process 1170 receives control at startnode 1172. Then process 1170 passes control to step 1174, which loads acopy of the PQRST Array to be used to select the diagnosis from database262. Next, process 1170 passes control to step 1176, which converts theDMM pain code into an access key that is formatted as required by theprocess that accesses database 262. Next, process 1170 passes control tostep 1178, which uses the access key to retrieve the record matching thepain code from database 262. Next, process 1170 passes control toterminal node 1180, which returns control to the calling process.

DISEASE MANAGEMENT ORDER (DMO)

[0257] The Disease Management Order is a data record that is attached tothe patient at the beginning of a DM session, travels with the patientfrom process to process, and is used at the end of the session (by theClose Sessions process)to implement the decisions and orders issued bythe various processes during the session. The DMO record containsnumerous fields and is stored in the sessions area of the DM-specificdatabases 264 (FIG. 3). One key field of the DMO, named Code, typicallycontains the next processing to be performed for the patient.

[0258] One use for the DMO is to signal special processing required fora patient. For example, to flag a new patient for a one-time requirementto conduct an initial interview, the Open Session process sets the DMOCode field to “assess initial health” (FIG. 6, node 448). The DM sessionprocess then continues into Health Assessment, which examines the DMOCode and shunts the patient into the Initial Health Assessment process488 (FIG. 7).

[0259] Another use for the DMO is to repeat processes as needed. Forexample, if the Correlation Assessment process requires additionalhealth data for the interval between session, it can invoke HealthAssessment again to obtain missing data (FIG. 12, node 660). When theprocess has enough data, it sets the DMO Code to “optimize therapy” andthe patient is shunted out of the assessment cycle.

[0260] Another use of the DMO is to track various reasons for decisionsmade, which can be used by the Close Sessions process to issue detailedreports of what the DM processes learned about the patient. For example,the Therapy Adjustment processes can refer the patient to a physicianfor different reasons (FIG. 14, nodes 778 and 784; FIG. 15, nodes832,854). In each case, the DMO code is set to “refer to MD”, but theDMO Reason field is set to indicate a different reason.

[0261] Finally, the key use of the DMO is to represent “doctor'sorders”, i.e. to accumulate all of the orders issued during the session,so that they can be implemented when the session is terminated (FIG. 18,node 956).

PERMISSIONS DATABASE

[0262] The Permissions Database 256 (FIG. 3) is a collection of all ofthe software elements that control access to DMM data and actions takenby DMM processes. This database supports the DMM safety, security,reliability, control, and management features in the form of passwords,access rights, need-to-know and right-to-know clearances, disclosureauthorizations, consents, constraints, limits, thresholds, and so on.The Permissions Database is the interface through which a human staff ofmedical and software experts can specify and control what automaticactions the DMM can and cannot perform. Since permissions govern theactions of all DMM processes, the Permissions Database can be used todynamically configure the system to run in various modes, ranging fromfully automatic to totally non-automatic, where the DMM has to askpermission for every detail step to be taken. The latter mode isespecially useful for experimental, test, problem tracking, or systemauditing uses.

[0263] Three tables of the Permissions Database are relevant to theoperation of the DMM processes described above; they are described undertheir respective section headings below: Regulatory Permissions, SharingPermissions, and Therapy Alteration Permission Level (TAPL).

[0264] REGULATORY PERMISSIONS

[0265] Regulatory Permissions are data sets that insure compliance ofthe DMM with all applicable regulatory, licensing, and legalrequirements and restrictions of the many jurisdictions in which itoperates. The Regulatory Permission data sets are organized byjurisdiction, and specify for each jurisdiction which data fields can bedisclosed to what agency. The Regulatory Permissions feature addresses avery complex issue that is typically ignored by other automated medicalsystems, namely that such systems may be deemed to be practicingmedicine in and across controlling jurisdictions, even acrossinternational borders, and must therefore meet a large number of variousmedical practice constrains and licensing regulations. This featureallows the DMM to comply with the law in its actions and in its contactswith patients, physicians, health care management organizations,government agencies, and so on.

[0266] Regulatory Permissions are DMM-global, and can be used whereverthey are applicable. One example is in the Close Session process (FIG.18, nodes 958-964) which must consider the legal requirements andprohibitions regarding disclosure of confidential medical data beforedistributing notices, instructions, and reports about the DM session orthe patient.

SHARING PERMISSIONS

[0267] Sharing Permissions are used to manage disclosure of individualmedical data items. Every data field in the patient medical history isassociated with an access control field that specifies whether or notthe medical data item can be disclosed to the patient, to various agentsor agencies, and to other software objects with specific accessauthorizations. Sharing Permissions are used by the DMM Close Sessionprocess (FIG. 18, nodes 958, 960) to decide what medical data items canbe disclosed (i.e. “shared”). in its messages and reports to patients,patient agents, physicians, laboratories, pharmacies, health caremanagement organizations, or government agencies.

[0268] Another use of Sharing Permissions is to prevent a diagnosis frombeing disclosed to the patient under circumstances when it would beinappropriate (FIG. 18, node 964).

THERAPY ALTERATION PERMISSION LEVEL (TAPL)

[0269] The Therapy Alteration Permission Level (TAPL) is a data set thatspecifies the various levels of authority the DMM has to change patienttherapy. The TAPL defines the degree of autonomy that the DMM has tomanage a patient's disease without prior human approval. Whenever apatient medical history data item is requested by (say) a governmentagency or an insurance company, the DMM consults the access controlfield of that data item to see which sharing permission level isrequired for it. Then the DMM consults the Permissions database toverify that the requesting agency has access permission at the specifiedlevel.

[0270] At its most restrictive level, the TAPL requires DMM to notify aphysician whenever the DMM determines that the patient could benefitfrom a change in therapy, and to obtain permission before adjustingtherapy in any way. The least restrictive TAPL setting allows the DMM toautomatically change a patient's treatment without human intervention.TAPL settings between these extremes require various degrees of priornotification and approval for different therapeutic interventions. TheTAPL is used by all DMM functions that change patient therapy or giveadvice to that effect (FIG. 15, node 830; FIG. 16, node 896).

META STRUCTURES

[0271] META Data Array

[0272] For the purpose of discussing the medical management system metafunctions, a system data structure used to record, track, analyze, andreport medical problems can best be visualized as a two-dimensional gridor array called the Meta Data Array. This array lists the causes ofdisease (e.g., trauma, infection, allergy) along one dimension (theabscissa or x-axis) labeled as CAUSE and lists the anatomic systems ororgans affected by disease (e.g., cardiovascular, respiratory, nervous)along a second dimension (the ordinate or y-axis) labeled as ANATOMY. Agiven disease can then be seen as the cell in the Meta Data Array thatis at the intersection of the applicable Cause and Anatomy dimensions.

[0273] In implementation, both the Cause and Anatomy axes are, ofcourse, extensively subdivided. Thus, for example, the infection causeis subdivided into bacterial and viral; bacterial is broken down intogram positive and gram negative; gram positive is further broken downinto streptococcus, and so on, to the point where the system canidentify ultimate causes such as “meningococcal gram negative bacterialinfection.” The Anatomy dimension can obviously also be subdivided intoorgan structures, organs, tissues, cells, and so forth.

[0274] META Data Cube

[0275] As the medical management system has more contacts with a givenpatient, the additional patient data extends the Meta Data Array along atime dimension to form a Meta Data Cube. The time axis is also referredto as the “Z” axis.

[0276] The Meta Data Cube is an internal data structure that supportsvarious meta functions. The details vary, depending on which medicalsystem module is performing which type of meta analysis, but all of thefollowing examples apply:

[0277] Several episodes of the same complaint (Frequency Meta)

[0278] Several infections in different anatomic systems (Cause Meta)

[0279] Different complaints in the same anatomic system (Anatomy Meta)

[0280] Long-term patient history, e.g., smoking habits over 35 years(Volumetric Meta)

[0281] Chronic disease history, e.g., five years of Asthma or Malariaattacks

[0282] Short-term disease progress, e.g., three days of gastrointestinalpain, headaches, vomiting

META FUNCTIONS

[0283] Meta Functions are medically-oriented software objects thatoperate at a global level of the entire medical management system andits various modules. They observe, record, track, and analyze patientinteractions with the system to:

[0284] evaluate a patient's use of the system,

[0285] look for patterns or relationships that may signify a problem,

[0286] “step back” to look at the patient's overall interaction with thesystem,

[0287] analyze a patient's current session in the context of pastsessions.

[0288] Meta Functions automate that aspect of the human physician thatsees a patient as a total, complex bio-mechanism that is malfunctioningand requires corrective measures over a time span. They give the DMM thepowerful ability to analyze patient health as a whole, to developlong-term medical diagnoses, therapies, advice, and managementstrategies.

[0289] The Frequency Meta Function uses the Sequential Summing MetaFunction to analyze the frequency of consultations regarding the samedisease. The Anatomic Meta Function analyzes patient complaints based onthe anatomic organ system involved. The Cause-Effect Chaining MetaFunction traces a disease back to its cause(s) and then forward to otherdisease(s). The Area Meta Function and the Volumetric Meta Functionanalyze changes in disease parameters over time. The Critical Curve MetaFunction monitors patient health for significant deterioration bycomparing it to a standard curve for the disease being managed. TheInterval Meta evaluates the time intervals between consultations for thesame disease. The Reliability Meta assesses the probability of datareliability and integrity.

[0290] The Meta Functions described for disease management use the same“Meta Data Cube” data structure described in Applicant's patent entitled“Computerized Medical Diagnostic and Treatment Advice System,” U.S. Pat.No. 5,660,176. However, since DM has different objectives, it examinesdifferent data elements of the cube along different axes.

[0291] The word “meta” refers to the overall nature of these functions,which focus on manipulating health data not at a detailed level but at alevel of long-term time trends, global patterns, statisticaldistributions, and other summary relationships. The word “function” hererefers to the various computational and analytical techniques used,which employ classic and fuzzy logic, arithmetic, geometry,trigonometry, analytical geometry, calculus, statistics, probability,domain mappings, transforms (Laplace, Fourier), heuristics, recursion,and so on.

[0292] Meta functions are implemented and embodied in the form ofsuitable data and process structures such as databases, tables, arrays,modules, objects, scripts, lists, subroutines, procedures, functions,and so on.

A. SEOUENTIAL SUMMING Meta

[0293] The Sequential Summing (SS) Meta function detects and integratesthe effect of one patient accessing separate modules of the entiremedical management system, such as the diagnostic module and the DMM,because separate sessions—when combined— may represent a significantchange or deterioration in the patient. The SS Meta function analyzesthe combined effect of the separate modules, and may make arecommendation based on this global analysis.

[0294] The SS Meta uses pre-set thresholds for different combinations ofthe system modules being summed. The thresholds are contained in aninternal table that lists all of the module combinations such as medicaldiagnosis+disease management, medical diagnosis+medicalaudio/video/image library, medical diagnosis+treatment tableconsultation, and so on.

[0295] For example, if the Medical Diagnosis module was consulted forwheezing and diagnosed as Asthma, and the DM module was later used forAsthma management, and the Medical Audio/Video/Image library module wasconsulted several times for pre-recorded messages on Asthma, the SS Metafunction would use the proper values from the table at medicaldiagnosis+disease management+medical audio/video/image library forAsthma to calculate a threshold to trigger special recommendations.Thus, even though threshold was not reached in any one module, when theconsultations for asthma in the diagnostic, disease management andaudio/video/image library consultations are combined and consideredtogether, threshold is reached.

B. FREQUENCY META

[0296] The Frequency Meta function reviews the number of times that apatient has consulted the system and makes recommendations based on thatconsultation frequency. The function calculates how many times thepatient has interacted with the system for the same complaint ordisease, medical audio text consultation or treatment tableconsultation, uses the Sequential Summing Meta function to analyze thecombined effect of the consultations, and may make a recommendationbased on this global analysis.

[0297] When a patient is admitted to the medical management system, foreach disease being managed, a threshold is established for the number ofconsultations (inbound as well as outbound) per unit of time. Thethreshold is different for each disease and is modified by thesensitivity factor set. If this threshold is reached, the Frequency Metafunction makes a recommendation. That is, the fact alone that thepatient has had a certain number of symptom occurrences of a given typemay trigger a recommendation from the Frequency Meta functions.

C. INTERVAL META

[0298] The Interval Meta function analyzes the time intervals betweeneach interaction for the same disease to detect trends that may signifya problem. For example, if the function were to discover that thepatient's interactions with the system are occurring closer and closertogether, the function could make a recommendation based on this factalone.

[0299] The sequential summing series method is used. The intervalbetween consultations is plotted and a meta recommendation is made ifthe intervals are getting shorter

D. CAUSE META

[0300] The Cause Meta function is a DM background task that looks fordisease or cause patterns that may help to identify root causes. Thefunction monitors and analyzes the patient's use of various systemmodules.

[0301] The Cause Meta function identifies a sequential summing series indecreasing intervals of time between medical diagnosis, diseasemanagement, medical audio text library, treatment table consultation andall their combinations. For example, assume that a patient has consultedthe system on several occasions with complaints manifesting in differentparts of the body, and that during each session, the medical diagnosismodule has (properly) attributed each separate problem to being causedby infection. The Cause Meta function detects such a series ofconsultations, and—if they reach a preset threshold per unit time—alertsthe system that the root cause may lie in the patient's immune system.If the system is caring for a patient with multiple episodes of trauma,the Cause Meta function will help the system to consider the possibilitythat the patient is abusing drugs or alcohol.

E. ANATOMIC META

[0302] The Anatomic Meta function analyzes patient contacts with themedical system from a viewpoint of a single organ or anatomic system ofthe body. The function looks for different diseases being managed thatmay impact the same anatomic system. The function automates the aspectof DM that—when different diseases all affect the same organ—it is oftenessential to monitor and frequently measure the functioning of thatorgan.

[0303] For example, if a patient consults the medical diagnostic moduleon three different occasions for abdominal pain, vomiting, and diarrhea,the Anatomic Meta function recognizes that these problems all involvethe gastrointestinal tract, and may cause the system to adjust itsrecommendations based on that additional information.

[0304] For example, diabetes mellitus and hypertension both cause slowand progressive deterioration of kidney function. The Anatomic Metafunction detects the need for such special monitoring. Based on someinternal, preset thresholds, the Anatomic Meta analysis may causedisease management system to recommend an evaluation of the impactedorgan functions. In the example above, for a patient being managed fordiabetes and hypertension, the Anatomic Meta analysis could cause themedical management system to recommend a serum creatinine, a test ofkidney function, at appropriate intervals.

F. CAUSE VS ANATOMIC META

[0305] The Cause vs. Anatomic Meta function coordinates an interactionbetween the Cause Meta and Anatomic Meta functions. As the Cause Metaand Anatomy Meta functions interact more closely, their interaction isdescribed here.

[0306] As the patient uses the medical management system over time, theCause/Anatomy cells are stacked along the time or Z-axis, which tracksthe moment in time when intersection of the cause and anatomic system,i.e., making the diagnosis actually occurred in the patient.

[0307] The Meta Data Cube represents a summation of the patient'sinteraction with the system over time. Although much of the patient'spast history is stored using ICD-9CM codes, as well as conventional textstrings in the fields of the patient's medical record, this techniqueallows very useful analyses to be done.

[0308] It is important to note that the system may be able to assign acause to a problem without knowing the anatomic system involved, andthat the system may indicate what organ or organ system is involvedwithout knowing the cause of the patient's problem. For example, asix-year-old child who complains of muscle aches, headache, runny nose,and joint aching most likely has a viral infection, but it is hard toascribe a specific organ system in which it is being manifested.

[0309] Interestingly, while in the diagnostic module, and while findingmultiple problems occurring in the same module, a different pattern isproduced in disease management. For example, diabetes can be representedby or at the intersection of an endocrine and the vascular system. Butanother way to visualize the disease process in diabetes is to go onestep further as follows. Whenever the medical management system realizesthat another disease process (like diabetes) affects the vascularsystem, then “vascular” as a CAUSE of further disease is searched.

G. CAUSAL CHAINING META

[0310] The Chaining Meta function automates the analysis of the medicalfact that certain diseases produce pathologic changes in other organs ofthe body, meaning that a disease can cause and be caused by otherdiseases. For example, the Chaining Meta function looks at a givendisease as both cause and effect, and performs three analyses for agiven disease D:

[0311] 1. Find the root cause of D.

[0312] 2. Find other diseases caused by D.

[0313] 3. Repeat steps 1 and 2 recursively to find other root causes andother diseases caused by D.

[0314] Thus, the Chaining Meta analysis traces the total impact ofdisease on the body. It uses the Cause Meta function (which is used todetect the immediate, single cause of a complaint or disease) torecursively find remote causes and diseases. Given a starting disease,the Chaining Meta analysis uses the Meta Data Cube to detect patternsthat let the analysis go backward in the cause chain to detect otherpossible problems in a patient. In this way, it does the analysis neededto detect related problems that have so far been masked or have not yetsurfaced.

[0315] An internal Cause-Effect table used by the Cause-Effect Metafunction contains fundamental medical knowledge of anatomic systems,their relationships, their diseases, and disease causality chains. Thistable identifies patterns that need to be explored for root causes andsecondary disease. A second table, used in controlling the processing ofthe causality chains, contains other data such as probability ofoccurrence, seriousness of the secondary diseases, and possibletherapeutic windows.

[0316] The result of the Chaining Meta computation is a list of diseasesto check for and monitor in the current patient. These results areuseful in:

[0317] insuring that side effects of disease are not missed,

[0318] not overlooking disease management therapy needed to stabilize apatient,

[0319] confirming a cause by verifying other effects (headache isconsistent with Appendicitis), negating a cause by not finding requiredeffects (lack of Plasmodia in blood denies Malaria).

AREA META

[0320] An example of area meta can be described as plotting pain ordiscomfort against time and then integrating the area under the curve tolook at the total amount of suffering or discomfort. This is importantbecause many patients, particularly with incurable illness, such asterminal cancer patients, are in continuous pain but they are isolated,do not see their doctor regularly, or their physician does notappreciate how much the patient is suffering. They tend to “chase thepain,” and never catch up. Here, once a threshold of suffering as beenmet, the patient could get narcotic analgesics or have their doseincreased.

VOLUMETRIC META

[0321] The Volumetric Meta function performs analysis based on the(3-dimensional) product of Disease x Anatomy x Time and makesrecommendations based on pre-set thresholds. The word “volumetric”refers to the Meta Data Cube analysis method used, in which a smokinghistory appears as the volume enclosed by the three axes P (Poison), R(Respiratory System), and Z (Time). For example, a patient who hassmoked two packs of cigarettes daily for 30 years is deemed to have ahistory of 60 pack-years impacting the respiratory system.

[0322] Volumetric analysis is significant in many disease processes.Thus, the patient with a smoking volume of 60 pack-years has accumulatedsignificant damage to the respiratory system. The longer this has beengoing on, the larger the volume, the more poison has impacted thefunctioning of the respiratory system, and the more likely certaindiagnoses or therapies will be.

[0323] Another example of volumetric analysis is the long-term damagethat diabetes causes in the microvascular circulation.

[0324] The software implementation of the Volumetric Meta functioninvolves various internal disease management tables that list volumetricproducts for various diseases as well as their threshold parameters.These thresholds (as modified dynamically by the sensitivity factor set)control special actions and analyses of the system. When an applicablethreshold is reached, the system performs special analyses and thenissues internal alerts to look for possible evidence of damage beingdone to the applicable organ system(s) and to make specialrecommendations for the patient.

RELIABILITY META

[0325] The Reliability Meta function looks at the reliability of all ofa patient's data items to see if the patient's care is inadequate. Thefunction can recommend the reevaluation of a patient if it finds thatthe (separate or combined) probabilities of a diagnosis are below areliability threshold (modified by the sensitivity factor set).

[0326] The function uses internal Reliability Indicators, associatedwith every data item, that track the probability that the data itemreflects the actual health of the patient at the time for which it wasrecorded. These Reliability Indicators are established for every dataitem in the medical management system when it is first established, andremain associated with it throughout its life in the system.

[0327] For example, if a patient tells the system that he has a historyof migraine headaches, the system may ask the patient:

[0328] Who made the diagnosis of migraine (patient, friend, nurse,physician, or neurologist)?

[0329] What tests were run, by whom, on what tissue, with what results?

[0330] Who confirmed the tests, how, in what context?

[0331] The idea, of course, is that if a headache specialist made thediagnosis after a full and complete workup including imaging (MRI) ofthe brain, lumbar puncture, EEG, etc., the probability that thediagnosis is correct is very high. This will be recorded in theReliability Indicators and associated with the diagnosis data item. Ifthe reliability is too low, the patient will be scheduled forre-evaluation at a higher level or standard of care, which will invokemore precise and more thorough questioning.

BENEFITS OF DISEASE MANAGEMENT

[0332] The benefits of the medical management system and the DiseaseManagement Module are as follows:

BENEFITS TO PATIENTS

[0333] faster, easier, cheaper medical services

[0334] medical service accessible at off hours, from home, when needed

[0335] medical service accessible in remote locations, poor communities

[0336] the latest, best, tested, updated medical services

[0337] patients can take their time, can repeat sessions, can browse

[0338] patients have a complete medical history on file

BENEFITS TO HEALTH CARE PROVIDERS

[0339] reduces trivial, inappropriate, useless contacts with patients

[0340] hones doctor's diagnostic skills / experience

[0341] doctor can compare own opinion to others

[0342] repeat patients offer better, continuous medical records

[0343] providers can access more medical data resources

[0344] computer supports access to statistics, databases,decision-making, scheduling

[0345] history of sessions and diseases is available

[0346] providers can justify advice/actions based on logged responses

[0347] can compare patients across/along populations

[0348] have large database of cases

BENEFITS TO HEALTH CARE MANAGERS

[0349] saves costs of trivial contacts

[0350] tracks contacts

[0351] statistical information and projections

[0352] profiles doctor / hospital practices

[0353] session logs reduce legal liability and exposure ensurescompliance with policies

[0354] standardizes advice and treatment

BENEFITS TO HEALTH CARE REGULATORS

[0355] actions of HMOs, Physicians can be reviewed and assessed

[0356] medical records are available for critiques

[0357] can verify compliance with regulations

BENEFITS TO HEALTH CARE TEACHERS

[0358] medical practice can be simulated on large patient populations

[0359] aids study of medicine

[0360] case studies can be compared

[0361] case handling can be repeated, with changes

[0362] While the above detailed description has shown, described, andpointed out the fundamental novel features of the invention as appliedto various embodiments, it will be understood that various omissions andsubstitutions and changes in the form and details of the systemillustrated may be made by those skilled in the art, without departingfrom the spirit of the invention.

What is claimed is:
 1. A computerized medical correlation assessmentmethod, comprising: a) providing a subjective health measurement in anelectronic medical record corresponding to a particular patient; b)providing an objective health measurement in the electronic medicalrecord; and c) calculating a metric based on the subjective healthmeasurement and the objective health measurement.
 2. The method of claim1 , wherein a)-c) are repeatedly performed over time.
 3. The method ofclaim 2 , wherein a plurality of metrics are statistically analyzed. 4.The method of claim 1 , wherein the metric is a ratio.
 5. The method ofclaim 1 , wherein the metric is indicative of whether the subjectivehealth measurement is reliable.
 6. The method of claim 1 , additionallycomprising adjusting a therapy for the particular patient based on themetric.
 7. The method of claim 1 , wherein the subjective healthmeasurement comprises health data perceived or felt by the particularpatient.
 8. The method of claim 1 , wherein the objective healthmeasurement includes health data measured by the particular patient. 9.The method of claim 8 , wherein the health data is measured by use of amedical instrument.
 10. A system for performing a computerized medicalcorrelation assessment, the system comprising: a computer; a storage, indata communication with the computer, configured to store an electronicmedical record corresponding to a particular patient; and a diseasemanagement module executed by the computer and configured to: access asubjective health measurement in the electronic medical record, accessan objective health measurement in the electronic medical record, andcalculate a metric based on the subjective health measurement and theobjective health measurement.
 11. The system of claim 10 , wherein thecomputer is a portable computing device.
 12. The system of claim 10 ,wherein the metric is calculated automatically.
 13. The system of claim10 , wherein the metric is a ratio.
 14. The system of claim 10 , whereinthe metric is indicative of whether the subjective health measurement isreliable.
 15. The system of claim 10 , wherein the disease managementmodule is additionally configured to adjust a therapy for the particularpatient based on the metric.
 16. The system of claim 10 , wherein thesubjective health measurement comprises health data perceived or felt bythe particular patient.
 17. The system of claim 10 , wherein theobjective health measurement includes health data measured by theparticular patient.
 18. The system of claim 17 , additionally comprisinga medical instrument configured to measure the health data.
 19. A systemfor performing a computerized medical correlation assessment, the systemcomprising: a computer; means, in data communication with the computer,for storing an electronic medical record corresponding to a particularpatient; and disease management means, executed by the computer, for:accessing a subjective health measurement in the electronic medicalrecord, accessing an objective health measurement in the electronicmedical record, and calculating a metric based on the subjective healthmeasurement and the objective health measurement.
 20. The system ofclaim 19 , wherein the computer is a portable computing device.
 21. Thesystem of claim 19 , wherein the metric is calculated automatically. 22.The system of claim 19 , wherein the metric is indicative of whether thesubjective health measurement is reliable.
 23. The system of claim 19 ,wherein the disease management means is additionally configured toadjust a therapy for the particular patient based on the metric.
 24. Thesystem of claim 19 , wherein the subjective health measurement compriseshealth data perceived or felt by the particular patient.
 25. The systemof claim 19 , wherein the objective health measurement includes healthdata measured by the particular patient.
 26. A computer usable mediumhaving computer readable program code embodied therein for performing amedical correlation assessment, the computer readable code comprisinginstructions for: providing a subjective health measurement in anelectronic medical record corresponding to a particular patient;providing an objective health measurement in the electronic medicalrecord; and generating a metric based on the subjective healthmeasurement and the objective health measurement.
 27. The computerusable medium of claim 26 , wherein the subjective health measurement isinput remotely via a telecommunications device.
 28. The computer usablemedium of claim 26 , wherein the subjective health measurement is inputdirectly into a computer via a local peripheral device.
 29. The computerusable medium of claim 26 , additionally comprising instructions foradjusting a therapy for the particular patient based on the metric. 30.The computer usable medium of claim 26 , wherein the metric isindicative of whether the subjective health measurement is reliable.